<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Stride.Core.Mathematics</name>
    </assembly>
    <members>
        <member name="T:Stride.Core.Mathematics.AngleSingle">
            <summary>
            Represents a unit independant angle using a single-precision floating-point
            internal representation.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleSingle.Degree">
            <summary>
            A value that specifies the size of a single degree.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleSingle.Minute">
            <summary>
            A value that specifies the size of a single minute.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleSingle.Second">
            <summary>
            A value that specifies the size of a single second.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleSingle.Radian">
            <summary>
            A value that specifies the size of a single radian.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleSingle.Milliradian">
            <summary>
            A value that specifies the size of a single milliradian.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleSingle.Gradian">
            <summary>
            A value that specifies the size of a single gradian.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleSingle.radians">
            <summary>
            The internal representation of the angle.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.#ctor(System.Single,Stride.Core.Mathematics.AngleType)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.AngleSingle"/> struct with the
            given unit dependant angle and unit type.
            </summary>
            <param name="angle">A unit dependant measure of the angle.</param>
            <param name="type">The type of unit the angle argument is.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.#ctor(System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.AngleSingle"/> struct using the
            arc length formula (θ = s/r).
            </summary>
            <param name="arcLength">The measure of the arc.</param>
            <param name="radius">The radius of the circle.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Wrap">
            <summary>
            Wraps this Stride.Core.Mathematics.AngleSingle to be in the range [π, -π].
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.WrapPositive">
            <summary>
            Wraps this Stride.Core.Mathematics.AngleSingle to be in the range [0, 2π).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Revolutions">
            <summary>
            Gets or sets the total number of revolutions this Stride.Core.Mathematics.AngleSingle represents.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Degrees">
            <summary>
            Gets or sets the total number of degrees this Stride.Core.Mathematics.AngleSingle represents.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Minutes">
            <summary>
            Gets or sets the minutes component of the degrees this Stride.Core.Mathematics.AngleSingle represents.
            When setting the minutes, if the value is in the range (-60, 60) the whole degrees are
            not changed; otherwise, the whole degrees may be changed. Fractional values may set
            the seconds component.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Seconds">
            <summary>
            Gets or sets the seconds of the degrees this Stride.Core.Mathematics.AngleSingle represents.
            When setting te seconds, if the value is in the range (-60, 60) the whole minutes
            or whole degrees are not changed; otherwise, the whole minutes or whole degrees
            may be changed.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Radians">
            <summary>
            Gets or sets the total number of radians this Stride.Core.Mathematics.AngleSingle represents.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Milliradians">
            <summary>
            Gets or sets the total number of milliradians this Stride.Core.Mathematics.AngleSingle represents.
            One milliradian is equal to 1/(2000π).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Gradians">
            <summary>
            Gets or sets the total number of gradians this Stride.Core.Mathematics.AngleSingle represents.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.IsRight">
            <summary>
            Gets a System.Boolean that determines whether this Stride.Core.Mathematics.Angle
            is a right angle (i.e. 90° or π/2).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.IsStraight">
            <summary>
            Gets a System.Boolean that determines whether this Stride.Core.Mathematics.Angle
            is a straight angle (i.e. 180° or π).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.IsFullRotation">
            <summary>
            Gets a System.Boolean that determines whether this Stride.Core.Mathematics.Angle
            is a full rotation angle (i.e. 360° or 2π).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.IsOblique">
            <summary>
            Gets a System.Boolean that determines whether this Stride.Core.Mathematics.Angle
            is an oblique angle (i.e. is not 90° or a multiple of 90°).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.IsAcute">
            <summary>
            Gets a System.Boolean that determines whether this Stride.Core.Mathematics.Angle
            is an acute angle (i.e. less than 90° but greater than 0°).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.IsObtuse">
            <summary>
            Gets a System.Boolean that determines whether this Stride.Core.Mathematics.Angle
            is an obtuse angle (i.e. greater than 90° but less than 180°).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.IsReflex">
            <summary>
            Gets a System.Boolean that determines whether this Stride.Core.Mathematics.Angle
            is a reflex angle (i.e. greater than 180° but less than 360°).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Complement">
            <summary>
            Gets a Stride.Core.Mathematics.AngleSingle instance that complements this angle (i.e. the two angles add to 90°).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.Supplement">
            <summary>
            Gets a Stride.Core.Mathematics.AngleSingle instance that supplements this angle (i.e. the two angles add to 180°).
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Wrap(Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Wraps the Stride.Core.Mathematics.AngleSingle given in the value argument to be in the range [π, -π].
            </summary>
            <param name="value">A Stride.Core.Mathematics.AngleSingle to wrap.</param>
            <returns>The Stride.Core.Mathematics.AngleSingle that is wrapped.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.WrapPositive(Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Wraps the Stride.Core.Mathematics.AngleSingle given in the value argument to be in the range [0, 2π).
            </summary>
            <param name="value">A Stride.Core.Mathematics.AngleSingle to wrap.</param>
            <returns>The Stride.Core.Mathematics.AngleSingle that is wrapped.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Min(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Compares two Stride.Core.Mathematics.AngleSingle instances and returns the smaller angle.
            </summary>
            <param name="left">The first Stride.Core.Mathematics.AngleSingle instance to compare.</param>
            <param name="right">The second Stride.Core.Mathematics.AngleSingle instance to compare.</param>
            <returns>The smaller of the two given Stride.Core.Mathematics.AngleSingle instances.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Max(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Compares two Stride.Core.Mathematics.AngleSingle instances and returns the greater angle.
            </summary>
            <param name="left">The first Stride.Core.Mathematics.AngleSingle instance to compare.</param>
            <param name="right">The second Stride.Core.Mathematics.AngleSingle instance to compare.</param>
            <returns>The greater of the two given Stride.Core.Mathematics.AngleSingle instances.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Add(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Adds two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The first object to add.</param>
            <param name="right">The second object to add.</param>
            <returns>The value of the two objects added together.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Subtract(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Subtracts two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The first object to subtract.</param>
            <param name="right">The second object to subtract.</param>
            <returns>The value of the two objects subtracted.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Multiply(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Multiplies two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The first object to multiply.</param>
            <param name="right">The second object to multiply.</param>
            <returns>The value of the two objects multiplied together.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Divide(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Divides two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The numerator object.</param>
            <param name="right">The denominator object.</param>
            <returns>The value of the two objects divided.</returns>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.ZeroAngle">
            <summary>
            Gets a new Stride.Core.Mathematics.AngleSingle instance that represents the zero angle (i.e. 0°).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.RightAngle">
            <summary>
            Gets a new Stride.Core.Mathematics.AngleSingle instance that represents the right angle (i.e. 90° or π/2).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.StraightAngle">
            <summary>
            Gets a new Stride.Core.Mathematics.AngleSingle instance that represents the straight angle (i.e. 180° or π).
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.AngleSingle.FullRotationAngle">
            <summary>
            Gets a new Stride.Core.Mathematics.AngleSingle instance that represents the full rotation angle (i.e. 360° or 2π).
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_Equality(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns a System.Boolean that indicates whether the values of two Stride.Core.Mathematics.Angle
            objects are equal.
            </summary>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns>True if the left and right parameters have the same value; otherwise, false.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_Inequality(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns a System.Boolean that indicates whether the values of two Stride.Core.Mathematics.Angle
            objects are not equal.
            </summary>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns>True if the left and right parameters do not have the same value; otherwise, false.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_LessThan(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns a System.Boolean that indicates whether a Stride.Core.Mathematics.Angle
            object is less than another Stride.Core.Mathematics.AngleSingle object.
            </summary>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns>True if left is less than right; otherwise, false.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_GreaterThan(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns a System.Boolean that indicates whether a Stride.Core.Mathematics.Angle
            object is greater than another Stride.Core.Mathematics.AngleSingle object.
            </summary>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns>True if left is greater than right; otherwise, false.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_LessThanOrEqual(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns a System.Boolean that indicates whether a Stride.Core.Mathematics.Angle
            object is less than or equal to another Stride.Core.Mathematics.AngleSingle object.
            </summary>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns>True if left is less than or equal to right; otherwise, false.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_GreaterThanOrEqual(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns a System.Boolean that indicates whether a Stride.Core.Mathematics.Angle
            object is greater than or equal to another Stride.Core.Mathematics.AngleSingle object.
            </summary>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns>True if left is greater than or equal to right; otherwise, false.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_UnaryPlus(Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns the value of the Stride.Core.Mathematics.AngleSingle operand. (The sign of
            the operand is unchanged.)
            </summary>
            <param name="value">A Stride.Core.Mathematics.AngleSingle object.</param>
            <returns>The value of the value parameter.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_UnaryNegation(Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns the the negated value of the Stride.Core.Mathematics.AngleSingle operand.
            </summary>
            <param name="value">A Stride.Core.Mathematics.AngleSingle object.</param>
            <returns>The negated value of the value parameter.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_Addition(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Adds two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The first object to add.</param>
            <param name="right">The second object to add.</param>
            <returns>The value of the two objects added together.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_Subtraction(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Subtracts two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The first object to subtract</param>
            <param name="right">The second object to subtract.</param>
            <returns>The value of the two objects subtracted.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_Multiply(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Multiplies two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The first object to multiply.</param>
            <param name="right">The second object to multiply.</param>
            <returns>The value of the two objects multiplied together.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.op_Division(Stride.Core.Mathematics.AngleSingle,Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Divides two Stride.Core.Mathematics.AngleSingle objects and returns the result.
            </summary>
            <param name="left">The numerator object.</param>
            <param name="right">The denominator object.</param>
            <returns>The value of the two objects divided.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an integer that
            indicates whether the value of this instance is less than, equal to, or greater
            than the value of the specified object.
            </summary>
            <param name="other">The object to compare.</param>
            <returns>
            A signed integer that indicates the relationship of the current instance
            to the obj parameter. If the value is less than zero, the current instance
            is less than the other. If the value is zero, the current instance is equal
            to the other. If the value is greater than zero, the current instance is
            greater than the other.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.CompareTo(Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Compares this instance to a second Stride.Core.Mathematics.AngleSingle and returns
            an integer that indicates whether the value of this instance is less than,
            equal to, or greater than the value of the specified object.
            </summary>
            <param name="other">The object to compare.</param>
            <returns>
            A signed integer that indicates the relationship of the current instance
            to the obj parameter. If the value is less than zero, the current instance
            is less than the other. If the value is zero, the current instance is equal
            to the other. If the value is greater than zero, the current instance is
            greater than the other.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Equals(Stride.Core.Mathematics.AngleSingle)">
            <summary>
            Returns a value that indicates whether the current instance and a specified
            Stride.Core.Mathematics.AngleSingle object have the same value.
            </summary>
            <param name="other">The object to compare.</param>
            <returns>
            Returns true if this Stride.Core.Mathematics.AngleSingle object and another have the same value;
            otherwise, false.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.GetHashCode">
            <summary>
            Returns a hash code for this Stride.Core.Mathematics.AngleSingle instance.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.AngleSingle.Equals(System.Object)">
            <summary>
            Returns a value that indicates whether the current instance and a specified
            object have the same value.
            </summary>
            <param name="obj">The object to compare.</param>
            <returns>
            Returns true if the obj parameter is a Stride.Core.Mathematics.AngleSingle object or a type
            capable of implicit conversion to a Stride.Core.Mathematics.AngleSingle value, and
            its value is equal to the value of the current Stride.Core.Mathematics.Angle
            object; otherwise, false.
            </returns>
        </member>
        <member name="T:Stride.Core.Mathematics.AngleType">
            <summary>
            Describes the type of angle.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleType.Revolution">
            <summary>
            Specifies an angle measurement in revolutions.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleType.Degree">
            <summary>
            Specifies an angle measurement in degrees.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleType.Radian">
            <summary>
            Specifies an angle measurement in radians.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.AngleType.Gradian">
            <summary>
            Specifies an angle measurement in gradians.
            </summary>
        </member>
        <member name="T:Stride.Core.Mathematics.BoundingBox">
            <summary>
            Represents an axis-aligned bounding box in three dimensional space.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingBox.Empty">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.BoundingBox"/> which represents an empty space.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingBox.Minimum">
            <summary>
            The minimum point of the box.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingBox.Maximum">
            <summary>
            The maximum point of the box.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.#ctor(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.BoundingBox"/> struct.
            </summary>
            <param name="minimum">The minimum vertex of the bounding box.</param>
            <param name="maximum">The maximum vertex of the bounding box.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.BoundingBox.Center">
            <summary>
            Gets the center of this bouding box.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.BoundingBox.Extent">
            <summary>
            Gets the extent of this bouding box.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.GetCorners">
            <summary>
            Retrieves the eight corners of the bounding box.
            </summary>
            <returns>An array of points representing the eight corners of the bounding box.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Intersects(Stride.Core.Mathematics.Ray@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Intersects(Stride.Core.Mathematics.Ray@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Intersects(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Intersects(Stride.Core.Mathematics.Plane@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Intersects(Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Intersects(Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Contains(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether the current objects contains a point.
            </summary>
            <param name="point">The point to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Contains(Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines whether the current objects contains a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Contains(Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines whether the current objects contains a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.FromPoints(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> that fully contains the given points.
            </summary>
            <param name="points">The points that will be contained by the box.</param>
            <param name="result">When the method completes, contains the newly constructed bounding box.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="points"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.FromPoints(Stride.Core.Mathematics.Vector3[])">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> that fully contains the given points.
            </summary>
            <param name="points">The points that will be contained by the box.</param>
            <returns>The newly constructed bounding box.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="points"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.FromSphere(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> from a given sphere.
            </summary>
            <param name="sphere">The sphere that will designate the extents of the box.</param>
            <param name="result">When the method completes, contains the newly constructed bounding box.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.FromSphere(Stride.Core.Mathematics.BoundingSphere)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> from a given sphere.
            </summary>
            <param name="sphere">The sphere that will designate the extents of the box.</param>
            <returns>The newly constructed bounding box.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Transform(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Transform a bounding box.
            </summary>
            <param name="value">The original bounding box.</param>
            <param name="transform">The transform to apply to the bounding box.</param>
            <param name="result">The transformed bounding box.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Merge(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> that is as large enough to contains the bounding box and the given point.
            </summary>
            <param name="value1">The box to merge.</param>
            <param name="value2">The point to merge.</param>
            <param name="result">When the method completes, contains the newly constructed bounding box.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Merge(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> that is as large as the total combined area of the two specified boxes.
            </summary>
            <param name="value1">The first box to merge.</param>
            <param name="value2">The second box to merge.</param>
            <param name="result">When the method completes, contains the newly constructed bounding box.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Merge(Stride.Core.Mathematics.BoundingBox,Stride.Core.Mathematics.BoundingBox)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> that is as large as the total combined area of the two specified boxes.
            </summary>
            <param name="value1">The first box to merge.</param>
            <param name="value2">The second box to merge.</param>
            <returns>The newly constructed bounding box.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.op_Equality(Stride.Core.Mathematics.BoundingBox,Stride.Core.Mathematics.BoundingBox)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.op_Inequality(Stride.Core.Mathematics.BoundingBox,Stride.Core.Mathematics.BoundingBox)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Equals(Stride.Core.Mathematics.BoundingBox)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:Stride.Core.Mathematics.Vector4"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBox.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Stride.Core.Mathematics.BoundingBoxExt">
            <summary>
            Represents an axis-aligned bounding box in three dimensional space that store only the Center and Extent.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingBoxExt.Empty">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.BoundingBoxExt"/> which represents an empty space.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingBoxExt.Center">
            <summary>
            The center of this bounding box.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingBoxExt.Extent">
            <summary>
            The extent of this bounding box.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.#ctor(Stride.Core.Mathematics.BoundingBox)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.BoundingBoxExt" /> struct.
            </summary>
            <param name="box">The box.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.#ctor(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.BoundingBoxExt"/> struct.
            </summary>
            <param name="minimum">The minimum vertex of the bounding box.</param>
            <param name="maximum">The maximum vertex of the bounding box.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.BoundingBoxExt.Minimum">
            <summary>
            Gets the minimum.
            </summary>
            <value>The minimum.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.BoundingBoxExt.Maximum">
            <summary>
            Gets the maximum.
            </summary>
            <value>The maximum.</value>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.Transform(Stride.Core.Mathematics.Matrix)">
            <summary>
            Transform this Bounding box
            </summary>
            <param name="world">The transform to apply to the bounding box.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.Merge(Stride.Core.Mathematics.BoundingBoxExt@,Stride.Core.Mathematics.BoundingBoxExt@,Stride.Core.Mathematics.BoundingBoxExt@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingBoxExt"/> that is as large as the total combined area of the two specified boxes.
            </summary>
            <param name="value1">The first box to merge.</param>
            <param name="value2">The second box to merge.</param>
            <param name="result">When the method completes, contains the newly constructed bounding box.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.Equals(Stride.Core.Mathematics.BoundingBoxExt)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.op_Equality(Stride.Core.Mathematics.BoundingBoxExt,Stride.Core.Mathematics.BoundingBoxExt)">
            <summary>
            Implements the ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.op_Inequality(Stride.Core.Mathematics.BoundingBoxExt,Stride.Core.Mathematics.BoundingBoxExt)">
            <summary>
            Implements the !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.op_Explicit(Stride.Core.Mathematics.BoundingBoxExt)~Stride.Core.Mathematics.BoundingBox">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.BoundingBoxExt"/> to <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="bbExt">The bb ext.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingBoxExt.op_Explicit(Stride.Core.Mathematics.BoundingBox)~Stride.Core.Mathematics.BoundingBoxExt">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.BoundingBox"/> to <see cref="T:Stride.Core.Mathematics.BoundingBoxExt"/>.
            </summary>
            <param name="boundingBox">The bounding box.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.BoundingFrustum">
            <summary>
            A bounding frustum.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingFrustum.LeftPlane">
            <summary>
            The left plane of this frustum.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingFrustum.RightPlane">
            <summary>
            The right plane of this frustum.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingFrustum.TopPlane">
            <summary>
            The top  plane of this frustum.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingFrustum.BottomPlane">
            <summary>
            The bottom plane of this frustum.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingFrustum.NearPlane">
            <summary>
            The near plane of this frustum.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingFrustum.FarPlane">
            <summary>
            The far plane of this frustum.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingFrustum.#ctor(Stride.Core.Mathematics.Matrix@)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.BoundingFrustum"/> struct from a matrix view-projection.
            </summary>
            <param name="matrix">The matrix view projection.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingFrustum.Contains(Stride.Core.Mathematics.BoundingBoxExt@)">
            <summary>
            Check whether this frustum contains the specified <see cref="T:Stride.Core.Mathematics.BoundingBoxExt"/>.
            </summary>
            <param name="boundingBoxExt">The bounding box.</param>
            <returns><c>true</c> if this frustum contains the specified bounding box.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.BoundingSphere">
            <summary>
            Represents a bounding sphere in three dimensional space.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingSphere.Empty">
            <summary>
            An empty bounding sphere (Center = 0 and Radius = 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingSphere.Center">
            <summary>
            The center of the sphere in three dimensional space.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.BoundingSphere.Radius">
            <summary>
            The radius of the sphere.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.#ctor(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> struct.
            </summary>
            <param name="center">The center of the sphere in three dimensional space.</param>
            <param name="radius">The radius of the sphere.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Intersects(Stride.Core.Mathematics.Ray@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Intersects(Stride.Core.Mathematics.Ray@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Intersects(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Intersects(Stride.Core.Mathematics.Plane@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Intersects(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a triangle.
            </summary>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triagnle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Intersects(Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Intersects(Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Contains(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether the current objects contains a point.
            </summary>
            <param name="point">The point to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Contains(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether the current objects contains a triangle.
            </summary>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triagnle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Contains(Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines whether the current objects contains a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Contains(Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines whether the current objects contains a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.FromPoints(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> that fully contains the given points.
            </summary>
            <param name="points">The points that will be contained by the sphere.</param>
            <param name="result">When the method completes, contains the newly constructed bounding sphere.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.FromPoints(System.IntPtr,System.Int32,System.Int32,System.Int32,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingSphere" /> that fully contains the given unmanaged points.
            </summary>
            <param name="vertexBufferPtr">A pointer to of vertices containing points.</param>
            <param name="vertexPositionOffsetInBytes">The point offset in bytes starting from the vertex structure.</param>
            <param name="vertexCount">The verterx vertexCount.</param>
            <param name="vertexStride">The vertex stride (size of vertex).</param>
            <param name="result">When the method completes, contains the newly constructed bounding sphere.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.FromPoints(Stride.Core.Mathematics.Vector3[])">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> that fully contains the given points.
            </summary>
            <param name="points">The points that will be contained by the sphere.</param>
            <returns>The newly constructed bounding sphere.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.FromBox(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> from a given box.
            </summary>
            <param name="box">The box that will designate the extents of the sphere.</param>
            <param name="result">When the method completes, the newly constructed bounding sphere.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.FromBox(Stride.Core.Mathematics.BoundingBox)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> from a given box.
            </summary>
            <param name="box">The box that will designate the extents of the sphere.</param>
            <returns>The newly constructed bounding sphere.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Transform(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Transforms a bounding bounding sphere, yielding the bounding sphere of all points contained by the original one, transformed by the specified transform.
            </summary>
            <param name="value">The original bounding sphere.</param>
            <param name="transform">The transform to apply to the bounding sphere.</param>
            <param name="result">The transformed bounding sphere.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Merge(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> that is the as large as the total combined area of the two specified spheres.
            </summary>
            <param name="value1">The first sphere to merge.</param>
            <param name="value2">The second sphere to merge.</param>
            <param name="result">When the method completes, contains the newly constructed bounding sphere.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Merge(Stride.Core.Mathematics.BoundingSphere,Stride.Core.Mathematics.BoundingSphere)">
            <summary>
            Constructs a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> that is the as large as the total combined area of the two specified spheres.
            </summary>
            <param name="value1">The first sphere to merge.</param>
            <param name="value2">The second sphere to merge.</param>
            <returns>The newly constructed bounding sphere.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.op_Equality(Stride.Core.Mathematics.BoundingSphere,Stride.Core.Mathematics.BoundingSphere)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.op_Inequality(Stride.Core.Mathematics.BoundingSphere,Stride.Core.Mathematics.BoundingSphere)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Equals(Stride.Core.Mathematics.BoundingSphere)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:Stride.Core.Mathematics.Vector4"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.BoundingSphere.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Stride.Core.Mathematics.CollisionHelper">
            <summary>
            Contains static methods to help in determining intersections, containment, etc.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.ClosestPointPointTriangle(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the closest point between a point and a triangle.
            </summary>
            <param name="point">The point to test.</param>
            <param name="vertex1">The first vertex to test.</param>
            <param name="vertex2">The second vertex to test.</param>
            <param name="vertex3">The third vertex to test.</param>
            <param name="result">When the method completes, contains the closest point between the two objects.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.ClosestPointPlanePoint(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the closest point between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a point.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="point">The point to test.</param>
            <param name="result">When the method completes, contains the closest point between the two objects.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.ClosestPointBoxPoint(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the closest point between a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> and a point.
            </summary>
            <param name="box">The box to test.</param>
            <param name="point">The point to test.</param>
            <param name="result">When the method completes, contains the closest point between the two objects.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.ClosestPointSpherePoint(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the closest point between a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> and a point.
            </summary>
            <param name="sphere">The bounding sphere.</param>
            <param name="point">The point to test.</param>
            <param name="result">When the method completes, contains the closest point between the two objects;
            or, if the point is directly in the center of the sphere, contains <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.ClosestPointSphereSphere(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the closest point between a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere1">The first sphere to test.</param>
            <param name="sphere2">The second sphere to test.</param>
            <param name="result">When the method completes, contains the closest point between the two objects;
            or, if the point is directly in the center of the sphere, contains <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/>.</param>
            <remarks>
            If the two spheres are overlapping, but not directly ontop of each other, the closest point
            is the 'closest' point of intersection. This can also be considered is the deepest point of
            intersection.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.DistancePlanePoint(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the distance between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a point.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="point">The point to test.</param>
            <returns>The distance between the two objects.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.DistanceBoxPoint(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the distance between a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> and a point.
            </summary>
            <param name="box">The box to test.</param>
            <param name="point">The point to test.</param>
            <returns>The distance between the two objects.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.DistanceBoxBox(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines the distance between a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box1">The first box to test.</param>
            <param name="box2">The second box to test.</param>
            <returns>The distance between the two objects.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.DistanceSpherePoint(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines the distance between a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> and a point.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <param name="point">The point to test.</param>
            <returns>The distance between the two objects.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.DistanceSphereSphere(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines the distance between a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere1">The first sphere to test.</param>
            <param name="sphere2">The second sphere to test.</param>
            <returns>The distance between the two objects.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsPoint(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a point.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="point">The point to test.</param>
            <returns>Whether the two objects intersect.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsRay(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray1">The first ray to test.</param>
            <param name="ray2">The second ray to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersect.</returns>
            <remarks>
            This method performs a ray vs ray intersection test based on the following formula
            from Goldman.
            <code>s = det([o_2 - o_1, d_2, d_1 x d_2]) / ||d_1 x d_2||^2</code>
            <code>t = det([o_2 - o_1, d_1, d_1 x d_2]) / ||d_1 x d_2||^2</code>
            Where o_1 is the position of the first ray, o_2 is the position of the second ray,
            d_1 is the normalized direction of the first ray, d_2 is the normalized direction
            of the second ray, det denotes the determinant of a matrix, x denotes the cross
            product, [ ] denotes a matrix, and || || denotes the length or magnitude of a vector.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsPlane(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Plane@,System.Single@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="plane">The plane to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersect.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsPlane(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="plane">The plane to test</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsTriangle(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a triangle.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triagnle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
            <remarks>
            This method tests if the ray intersects either the front or back of the triangle.
            If the ray is parallel to the triangle's plane, no intersection is assumed to have
            happened. If the intersection of the ray and the triangle is behind the origin of
            the ray, no intersection is assumed to have happened. In both cases of assumptions,
            this method returns false.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsTriangle(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a triangle.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triangle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsRectangle(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3@,System.Int32,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a rectangle (2D).
            </summary>
            <param name="ray">The ray to test</param>
            <param name="rectangleWorldMatrix">The world matrix applied on the rectangle</param>
            <param name="rectangleSize">The size of the rectangle in 3D</param>
            <param name="normalAxis">The index of axis defining the normal of the rectangle in the world. This value should be 0, 1 or 2</param>
            <param name="intersectionPoint">The position of the intersection point in the world</param>
            <returns><value>true</value> if the ray and rectangle intersects.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsBox(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.BoundingBox@,System.Single@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="box">The box to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsBox(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="box">The box to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsSphere(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.BoundingSphere@,System.Single@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="sphere">The sphere to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.RayIntersectsSphere(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Ray"/> and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>. 
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="sphere">The sphere to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.PlaneIntersectsPoint(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a point.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="point">The point to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.PlaneIntersectsPlane(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Plane@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane1">The first plane to test.</param>
            <param name="plane2">The second plane to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.PlaneIntersectsPlane(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Ray@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane1">The first plane to test.</param>
            <param name="plane2">The second plane to test.</param>
            <param name="line">When the method completes, contains the line of intersection
            as a <see cref="T:Stride.Core.Mathematics.Ray"/>, or a zero ray if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
            <remarks>
            Although a ray is set to have an origin, the ray returned by this method is really
            a line in three dimensions which has no real origin. The ray is considered valid when
            both the positive direction is used and when the negative direction is used.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.PlaneIntersectsTriangle(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a triangle.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triagnle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.PlaneIntersectsBox(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="box">The box to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.PlaneIntersectsSphere(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.Plane"/> and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="sphere">The sphere to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.BoxIntersectsBox(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box1">The first box to test.</param>
            <param name="box2">The second box to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.BoxIntersectsSphere(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="box">The box to test.</param>
            <param name="sphere">The sphere to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.SphereIntersectsTriangle(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> and a triangle.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triagnle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.SphereIntersectsSphere(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines whether there is an intersection between a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere1">First sphere to test.</param>
            <param name="sphere2">Second sphere to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.BoxContainsPoint(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> contains a point.
            </summary>
            <param name="box">The box to test.</param>
            <param name="point">The point to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.BoxContainsBox(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> contains a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box1">The first box to test.</param>
            <param name="box2">The second box to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.BoxContainsSphere(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingBox"/> contains a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="box">The box to test.</param>
            <param name="sphere">The sphere to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.SphereContainsPoint(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> contains a point.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <param name="point">The point to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.SphereContainsTriangle(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> contains a triangle.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triagnle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.SphereContainsBox(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> contains a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <param name="box">The box to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.SphereContainsSphere(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/> contains a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere1">The first sphere to test.</param>
            <param name="sphere2">The second sphere to test.</param>
            <returns>The type of containment the two objects have.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.FrustumContainsBox(Stride.Core.Mathematics.BoundingFrustum@,Stride.Core.Mathematics.BoundingBoxExt@)">
            <summary>
            Determines whether a <see cref="T:Stride.Core.Mathematics.BoundingFrustum" /> intersects or contains an AABB determined by its center and extent.
            Faster variant specific for frustum culling.
            </summary>
            <param name="frustum">The frustum.</param>
            <param name="boundingBoxExt">The bounding box ext.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.CollisionHelper.GetNearestHit``1(System.Collections.Generic.IEnumerable{``0},Stride.Core.Mathematics.Ray@,``0@,System.Single@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Retrieves the nearest hit object starting from the position of the ray in the direction of the ray.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="objects">The objects that get tested for a collision with the ray.</param>
            <param name="ray">The ray.</param>
            <param name="hitObject">The hit object.</param>
            <param name="distance">The distance from the start of the ray.</param>
            <param name="point">The position of the collision.</param>
            <returns>Whether there was a hit.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Color">
            <summary>
            Represents a 32-bit color (4 bytes) in the form of RGBA (in byte order: R, G, B, A).
            </summary>
            <summary>
            List of predefined <see cref="T:Stride.Core.Mathematics.Color" />.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.R">
            <summary>
            The red component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.G">
            <summary>
            The green component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.B">
            <summary>
            The blue component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.A">
            <summary>
            The alpha component of the color.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Byte)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Byte,System.Byte,System.Byte)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.  Alpha is set to 255.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.  Alpha is set to 255.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(Stride.Core.Mathematics.Vector4)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="value">The red, green, blue, and alpha components of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="value">The red, green, and blue components of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct. Alpha is set to 255.
            </summary>
            <param name="value">The red, green, and blue components of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="rgba">A packed integer containing all four color components in RGBA order.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="rgba">A packed integer containing all four color components in RGBA order.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="values">The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.#ctor(System.Byte[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color"/> struct.
            </summary>
            <param name="values">The values to assign to the red, green, blue, or alpha components of the color. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Color.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the red, green, blue, or alpha component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the red(R) component, 1 for the green(G) component, 2 for the blue(B) component, and 3 for the alpha(A) component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToBgra">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToRgba">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToArgb">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToAbgr">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToVector3">
            <summary>
            Converts the color into a three component vector.
            </summary>
            <returns>A three component vector containing the red, green, and blue components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToColor3">
            <summary>
            Converts the color into a three component color.
            </summary>
            <returns>A three component color containing the red, green, and blue components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToVector4">
            <summary>
            Converts the color into a four component vector.
            </summary>
            <returns>A four component vector containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToArray">
            <summary>
            Creates an array containing the elements of the color.
            </summary>
            <returns>A four-element array containing the components of the color in RGBA order.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.GetBrightness">
            <summary>
            Gets the brightness.
            </summary>
            <returns>The Hue-Saturation-Brightness (HSB) saturation for this <see cref="T:Stride.Core.Mathematics.Color"/></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.GetHue">
            <summary>
            Gets the hue.
            </summary>
            <returns>The Hue-Saturation-Brightness (HSB) saturation for this <see cref="T:Stride.Core.Mathematics.Color"/></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.GetSaturation">
            <summary>
            Gets the saturation.
            </summary>
            <returns>The Hue-Saturation-Brightness (HSB) saturation for this <see cref="T:Stride.Core.Mathematics.Color"/></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Add(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <param name="result">When the method completes, completes the sum of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Add(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Subtract(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <param name="result">WHen the method completes, contains the difference of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Subtract(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Modulate(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <param name="result">When the method completes, contains the modulated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Modulate(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Scale(Stride.Core.Mathematics.Color@,System.Single,Stride.Core.Mathematics.Color@)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <param name="result">When the method completes, contains the scaled color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Scale(Stride.Core.Mathematics.Color,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Negate(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <param name="result">When the method completes, contains the negated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Negate(Stride.Core.Mathematics.Color)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>The negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Clamp(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.FromBgra(System.Int32)">
            <summary>
            Converts the color from a packed BGRA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in BGRA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.FromBgra(System.UInt32)">
            <summary>
            Converts the color from a packed BGRA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in BGRA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.FromAbgr(System.Int32)">
            <summary>
            Converts the color from a packed ABGR integer.
            </summary>
            <param name="color">A packed integer containing all four color components in ABGR order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.FromAbgr(System.UInt32)">
            <summary>
            Converts the color from a packed ABGR integer.
            </summary>
            <param name="color">A packed integer containing all four color components in ABGR order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.FromRgba(System.Int32)">
            <summary>
            Converts the color from a packed RGBA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in RGBA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.FromRgba(System.UInt32)">
            <summary>
            Converts the color from a packed RGBA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in RGBA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Clamp(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Lerp(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,System.Single,Stride.Core.Mathematics.Color@)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two colors.</param>
            <remarks>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Lerp(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color,System.Single)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two colors.</returns>
            <remarks>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.SmoothStep(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,System.Single,Stride.Core.Mathematics.Color@)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.SmoothStep(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color,System.Single)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Max(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the largest components of the source colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Max(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Returns a color containing the largest components of the specified colorss.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the largest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Min(Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@,Stride.Core.Mathematics.Color@)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the smallest components of the source colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Min(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the smallest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.AdjustContrast(Stride.Core.Mathematics.Color@,System.Single,Stride.Core.Mathematics.Color@)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.AdjustContrast(Stride.Core.Mathematics.Color,System.Single)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.AdjustSaturation(Stride.Core.Mathematics.Color@,System.Single,Stride.Core.Mathematics.Color@)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.AdjustSaturation(Stride.Core.Mathematics.Color,System.Single)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Addition(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_UnaryPlus(Stride.Core.Mathematics.Color)">
            <summary>
            Assert a color (return it unchanged).
            </summary>
            <param name="value">The color to assert (unchanged).</param>
            <returns>The asserted (unchanged) color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Subtraction(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_UnaryNegation(Stride.Core.Mathematics.Color)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>A negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Multiply(System.Single,Stride.Core.Mathematics.Color)">
            <summary>
            Scales a color.
            </summary>
            <param name="scale">The factor by which to scale the color.</param>
            <param name="value">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Multiply(Stride.Core.Mathematics.Color,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The factor by which to scale the color.</param>
            <param name="scale">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Multiply(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Equality(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Inequality(Stride.Core.Mathematics.Color,Stride.Core.Mathematics.Color)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Color)~Stride.Core.Mathematics.Color3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color"/> to <see cref="T:Stride.Core.Mathematics.Color3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Color)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Color)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToColor4">
            <summary>
            Convert this instance to a <see cref="T:Stride.Core.Mathematics.Color4"/>
            </summary>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Implicit(Stride.Core.Mathematics.Color)~Stride.Core.Mathematics.Color4">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Color"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Vector3)~Stride.Core.Mathematics.Color">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Color"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Color3)~Stride.Core.Mathematics.Color">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color3"/> to <see cref="T:Stride.Core.Mathematics.Color"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Vector4)~Stride.Core.Mathematics.Color">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.Color"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Color4)~Stride.Core.Mathematics.Color">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color4"/> to <see cref="T:Stride.Core.Mathematics.Color"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(Stride.Core.Mathematics.Color)~System.Int32">
            <summary>
            Performs an explicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Stride.Core.Mathematics.Color"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The result of the conversion.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.op_Explicit(System.Int32)~Stride.Core.Mathematics.Color">
            <summary>
            Performs an explicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Stride.Core.Mathematics.Color"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The result of the conversion.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Equals(Stride.Core.Mathematics.Color)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Color"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Color"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Color"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Zero">
            <summary>
            Zero color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Transparent">
            <summary>
            Transparent color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.AliceBlue">
            <summary>
            AliceBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.AntiqueWhite">
            <summary>
            AntiqueWhite color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Aqua">
            <summary>
            Aqua color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Aquamarine">
            <summary>
            Aquamarine color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Azure">
            <summary>
            Azure color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Beige">
            <summary>
            Beige color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Bisque">
            <summary>
            Bisque color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Black">
            <summary>
            Black color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.BlanchedAlmond">
            <summary>
            BlanchedAlmond color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Blue">
            <summary>
            Blue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.BlueViolet">
            <summary>
            BlueViolet color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Brown">
            <summary>
            Brown color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.BurlyWood">
            <summary>
            BurlyWood color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.CadetBlue">
            <summary>
            CadetBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Chartreuse">
            <summary>
            Chartreuse color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Chocolate">
            <summary>
            Chocolate color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Coral">
            <summary>
            Coral color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.CornflowerBlue">
            <summary>
            CornflowerBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Cornsilk">
            <summary>
            Cornsilk color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Crimson">
            <summary>
            Crimson color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Cyan">
            <summary>
            Cyan color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkBlue">
            <summary>
            DarkBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkCyan">
            <summary>
            DarkCyan color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkGoldenrod">
            <summary>
            DarkGoldenrod color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkGray">
            <summary>
            DarkGray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkGreen">
            <summary>
            DarkGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkKhaki">
            <summary>
            DarkKhaki color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkMagenta">
            <summary>
            DarkMagenta color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkOliveGreen">
            <summary>
            DarkOliveGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkOrange">
            <summary>
            DarkOrange color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkOrchid">
            <summary>
            DarkOrchid color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkRed">
            <summary>
            DarkRed color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkSalmon">
            <summary>
            DarkSalmon color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkSeaGreen">
            <summary>
            DarkSeaGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkSlateBlue">
            <summary>
            DarkSlateBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkSlateGray">
            <summary>
            DarkSlateGray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkTurquoise">
            <summary>
            DarkTurquoise color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DarkViolet">
            <summary>
            DarkViolet color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DeepPink">
            <summary>
            DeepPink color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DeepSkyBlue">
            <summary>
            DeepSkyBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DimGray">
            <summary>
            DimGray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.VeryDimGray">
            <summary>
            VeryDimGray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.DodgerBlue">
            <summary>
            DodgerBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Firebrick">
            <summary>
            Firebrick color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.FloralWhite">
            <summary>
            FloralWhite color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.ForestGreen">
            <summary>
            ForestGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Fuchsia">
            <summary>
            Fuchsia color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Gainsboro">
            <summary>
            Gainsboro color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.GhostWhite">
            <summary>
            GhostWhite color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Gold">
            <summary>
            Gold color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Goldenrod">
            <summary>
            Goldenrod color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Gray">
            <summary>
            Gray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Green">
            <summary>
            Green color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.GreenYellow">
            <summary>
            GreenYellow color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Honeydew">
            <summary>
            Honeydew color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.HotPink">
            <summary>
            HotPink color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.IndianRed">
            <summary>
            IndianRed color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Indigo">
            <summary>
            Indigo color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Ivory">
            <summary>
            Ivory color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Khaki">
            <summary>
            Khaki color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Lavender">
            <summary>
            Lavender color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LavenderBlush">
            <summary>
            LavenderBlush color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LawnGreen">
            <summary>
            LawnGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LemonChiffon">
            <summary>
            LemonChiffon color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightBlue">
            <summary>
            LightBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightCoral">
            <summary>
            LightCoral color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightCyan">
            <summary>
            LightCyan color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightGoldenrodYellow">
            <summary>
            LightGoldenrodYellow color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightGray">
            <summary>
            LightGray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightGreen">
            <summary>
            LightGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightPink">
            <summary>
            LightPink color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightSalmon">
            <summary>
            LightSalmon color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightSeaGreen">
            <summary>
            LightSeaGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightSkyBlue">
            <summary>
            LightSkyBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightSlateGray">
            <summary>
            LightSlateGray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightSteelBlue">
            <summary>
            LightSteelBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LightYellow">
            <summary>
            LightYellow color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Lime">
            <summary>
            Lime color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.LimeGreen">
            <summary>
            LimeGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Linen">
            <summary>
            Linen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Magenta">
            <summary>
            Magenta color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Maroon">
            <summary>
            Maroon color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumAquamarine">
            <summary>
            MediumAquamarine color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumBlue">
            <summary>
            MediumBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumOrchid">
            <summary>
            MediumOrchid color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumPurple">
            <summary>
            MediumPurple color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumSeaGreen">
            <summary>
            MediumSeaGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumSlateBlue">
            <summary>
            MediumSlateBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumSpringGreen">
            <summary>
            MediumSpringGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumTurquoise">
            <summary>
            MediumTurquoise color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MediumVioletRed">
            <summary>
            MediumVioletRed color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MidnightBlue">
            <summary>
            MidnightBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MintCream">
            <summary>
            MintCream color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.MistyRose">
            <summary>
            MistyRose color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Moccasin">
            <summary>
            Moccasin color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.NavajoWhite">
            <summary>
            NavajoWhite color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Navy">
            <summary>
            Navy color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.OldLace">
            <summary>
            OldLace color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Olive">
            <summary>
            Olive color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.OliveDrab">
            <summary>
            OliveDrab color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Orange">
            <summary>
            Orange color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.OrangeRed">
            <summary>
            OrangeRed color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Orchid">
            <summary>
            Orchid color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.PaleGoldenrod">
            <summary>
            PaleGoldenrod color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.PaleGreen">
            <summary>
            PaleGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.PaleTurquoise">
            <summary>
            PaleTurquoise color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.PaleVioletRed">
            <summary>
            PaleVioletRed color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.PapayaWhip">
            <summary>
            PapayaWhip color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.PeachPuff">
            <summary>
            PeachPuff color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Peru">
            <summary>
            Peru color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Pink">
            <summary>
            Pink color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Plum">
            <summary>
            Plum color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.PowderBlue">
            <summary>
            PowderBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Purple">
            <summary>
            Purple color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Red">
            <summary>
            Red color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.RosyBrown">
            <summary>
            RosyBrown color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.RoyalBlue">
            <summary>
            RoyalBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SaddleBrown">
            <summary>
            SaddleBrown color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Salmon">
            <summary>
            Salmon color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SandyBrown">
            <summary>
            SandyBrown color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SeaGreen">
            <summary>
            SeaGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SeaShell">
            <summary>
            SeaShell color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Sienna">
            <summary>
            Sienna color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Silver">
            <summary>
            Silver color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SkyBlue">
            <summary>
            SkyBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SlateBlue">
            <summary>
            SlateBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SlateGray">
            <summary>
            SlateGray color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Snow">
            <summary>
            Snow color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SpringGreen">
            <summary>
            SpringGreen color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.SteelBlue">
            <summary>
            SteelBlue color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Tan">
            <summary>
            Tan color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Teal">
            <summary>
            Teal color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Thistle">
            <summary>
            Thistle color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Tomato">
            <summary>
            Tomato color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Turquoise">
            <summary>
            Turquoise color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Violet">
            <summary>
            Violet color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Wheat">
            <summary>
            Wheat color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.White">
            <summary>
            White color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.WhiteSmoke">
            <summary>
            WhiteSmoke color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.Yellow">
            <summary>
            Yellow color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color.YellowGreen">
            <summary>
            YellowGreen color.
            </summary>
        </member>
        <member name="T:Stride.Core.Mathematics.Color3">
            <summary>
            Represents a color in the form of rgb.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color3.R">
            <summary>
            The red component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color3.G">
            <summary>
            The green component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color3.B">
            <summary>
            The blue component of the color.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color3"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color3"/> struct.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.#ctor(Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color3"/> struct.
            </summary>
            <param name="value">The red, green, and blue components of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color3"/> struct.
            </summary>
            <param name="rgb">A packed integer containing all three color components.
            The alpha component is ignored.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color3"/> struct.
            </summary>
            <param name="rgb">A packed unsigned integer containing all three color components.
            The alpha component is ignored.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color3"/> struct.
            </summary>
            <param name="values">The values to assign to the red, green, and blue components of the color. This must be an array with three elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Color3.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the red, green, or blue component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the red component, 1 for the green component, and 2 for the blue component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 2].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToRgb">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all three color components.
            The alpha channel is set to 255.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Pow(System.Single)">
            <summary>
            Raises the exponent for each components.
            </summary>
            <param name="exponent">The exponent.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToVector3">
            <summary>
            Converts the color into a three component vector.
            </summary>
            <returns>A three component vector containing the red, green, and blue components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToArray">
            <summary>
            Creates an array containing the elements of the color.
            </summary>
            <returns>A three-element array containing the components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Add(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <param name="result">When the method completes, completes the sum of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Add(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Subtract(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <param name="result">WHen the method completes, contains the difference of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Subtract(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Modulate(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <param name="result">When the method completes, contains the modulated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Modulate(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Scale(Stride.Core.Mathematics.Color3@,System.Single,Stride.Core.Mathematics.Color3@)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <param name="result">When the method completes, contains the scaled color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Scale(Stride.Core.Mathematics.Color3,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Negate(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <param name="result">When the method completes, contains the negated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Negate(Stride.Core.Mathematics.Color3)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>The negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Clamp(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Clamp(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Lerp(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,System.Single,Stride.Core.Mathematics.Color3@)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two colors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Lerp(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3,System.Single)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two colors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.SmoothStep(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,System.Single,Stride.Core.Mathematics.Color3@)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.SmoothStep(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3,System.Single)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Max(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@)">
            <summary>
            Returns a color containing the smallest components of the specified colorss.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the largest components of the source colorss.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Max(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Returns a color containing the largest components of the specified colorss.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the largest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Min(Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@,Stride.Core.Mathematics.Color3@)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the smallest components of the source colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Min(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the smallest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.AdjustContrast(Stride.Core.Mathematics.Color3@,System.Single,Stride.Core.Mathematics.Color3@)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.AdjustContrast(Stride.Core.Mathematics.Color3,System.Single)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.AdjustSaturation(Stride.Core.Mathematics.Color3@,System.Single,Stride.Core.Mathematics.Color3@)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.AdjustSaturation(Stride.Core.Mathematics.Color3,System.Single)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToSRgb">
            <summary>
            Converts this color from linear space to sRGB space.
            </summary>
            <returns>A color3 in sRGB space.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToLinear">
            <summary>
            Converts this color from sRGB space to linear space.
            </summary>
            <returns>Color3.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Addition(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_UnaryPlus(Stride.Core.Mathematics.Color3)">
            <summary>
            Assert a color (return it unchanged).
            </summary>
            <param name="value">The color to assert (unchange).</param>
            <returns>The asserted (unchanged) color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Subtraction(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_UnaryNegation(Stride.Core.Mathematics.Color3)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>A negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Multiply(System.Single,Stride.Core.Mathematics.Color3)">
            <summary>
            Scales a color.
            </summary>
            <param name="scale">The factor by which to scale the color.</param>
            <param name="value">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Multiply(Stride.Core.Mathematics.Color3,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The factor by which to scale the color.</param>
            <param name="scale">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Multiply(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Equality(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Inequality(Stride.Core.Mathematics.Color3,Stride.Core.Mathematics.Color3)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Explicit(Stride.Core.Mathematics.Color3)~Stride.Core.Mathematics.Color4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color3"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Explicit(Stride.Core.Mathematics.Color3)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color3"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Explicit(Stride.Core.Mathematics.Vector3)~Stride.Core.Mathematics.Color3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Color3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.op_Explicit(System.Int32)~Stride.Core.Mathematics.Color3">
            <summary>
            Performs an explicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Stride.Core.Mathematics.Color3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToColor4">
            <summary>
            Convert this color to an equivalent <see cref="T:Stride.Core.Mathematics.Color4"/> with an opaque alpha.
            </summary>
            <returns>An equivalent <see cref="T:Stride.Core.Mathematics.Color4"/> with an opaque alpha.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Equals(Stride.Core.Mathematics.Color3)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Color3"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Color3"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Color3"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color3.Deconstruct(System.Single@,System.Single@,System.Single@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="r">The R component</param>
            <param name="g">The G component</param>
            <param name="b">The B component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Color4">
            <summary>
            Represents a color in the form of rgba.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color4.Black">
            <summary>
            The Black color (0, 0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color4.White">
            <summary>
            The White color (1, 1, 1, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color4.R">
            <summary>
            The red component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color4.G">
            <summary>
            The green component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color4.B">
            <summary>
            The blue component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Color4.A">
            <summary>
            The alpha component of the color.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(Stride.Core.Mathematics.Vector4)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="value">The red, green, blue, and alpha components of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="value">The red, green, and blue components of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="rgba">A packed integer containing all four color components in RGBA order.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="rgba">A packed integer containing all four color components in RGBA order.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="values">The values to assign to the red, green, blue, and alpha components of the color. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(Stride.Core.Mathematics.Color3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="color"><see cref="T:Stride.Core.Mathematics.Color3"/> used to initialize the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(Stride.Core.Mathematics.Color)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="color"><see cref="T:Stride.Core.Mathematics.Color"/> used to initialize the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="color"><see cref="T:Stride.Core.Mathematics.Color"/> used to initialize the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.#ctor(Stride.Core.Mathematics.Color3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Color4"/> struct.
            </summary>
            <param name="color"><see cref="T:Stride.Core.Mathematics.Color3"/> used to initialize the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.Color4.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the red, green, blue, and alpha components, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToBgra">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToBgra(System.Byte@,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            Converts the color into a packed integer.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToRgba">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToVector3">
            <summary>
            Converts the color into a three component vector.
            </summary>
            <returns>A three component vector containing the red, green, and blue components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToVector4">
            <summary>
            Converts the color into a four component vector.
            </summary>
            <returns>A four component vector containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToArray">
            <summary>
            Creates an array containing the elements of the color.
            </summary>
            <returns>A four-element array containing the components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToSRgb">
            <summary>
            Converts this color from linear space to sRGB space.
            </summary>
            <returns>A color3 in sRGB space.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToLinear">
            <summary>
            Converts this color from sRGB space to linear space.
            </summary>
            <returns>A color4 in linear space.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Add(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <param name="result">When the method completes, completes the sum of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Add(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Subtract(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <param name="result">WHen the method completes, contains the difference of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Subtract(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Modulate(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <param name="result">When the method completes, contains the modulated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Modulate(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Scale(Stride.Core.Mathematics.Color4@,System.Single,Stride.Core.Mathematics.Color4@)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <param name="result">When the method completes, contains the scaled color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Scale(Stride.Core.Mathematics.Color4,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Negate(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <param name="result">When the method completes, contains the negated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Negate(Stride.Core.Mathematics.Color4)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>The negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Clamp(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Clamp(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Lerp(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,System.Single,Stride.Core.Mathematics.Color4@)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two colors.</param>
            <remarks>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Lerp(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4,System.Single)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two colors.</returns>
            <remarks>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.SmoothStep(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,System.Single,Stride.Core.Mathematics.Color4@)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.SmoothStep(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4,System.Single)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Max(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the largest components of the source colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Max(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Returns a color containing the largest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the largest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Min(Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@,Stride.Core.Mathematics.Color4@)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the smallest components of the source colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Min(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the smallest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.AdjustContrast(Stride.Core.Mathematics.Color4@,System.Single,Stride.Core.Mathematics.Color4@)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.AdjustContrast(Stride.Core.Mathematics.Color4,System.Single)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.AdjustSaturation(Stride.Core.Mathematics.Color4@,System.Single,Stride.Core.Mathematics.Color4@)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.AdjustSaturation(Stride.Core.Mathematics.Color4,System.Single)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.PremultiplyAlpha(Stride.Core.Mathematics.Color4)">
            <summary>
            Premultiplies the color components by the alpha value.
            </summary>
            <param name="value">The color to premultiply.</param>
            <returns>A color with premultiplied alpha.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Addition(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_UnaryPlus(Stride.Core.Mathematics.Color4)">
            <summary>
            Assert a color (return it unchanged).
            </summary>
            <param name="value">The color to assert (unchanged).</param>
            <returns>The asserted (unchanged) color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Subtraction(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_UnaryNegation(Stride.Core.Mathematics.Color4)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>A negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Multiply(System.Single,Stride.Core.Mathematics.Color4)">
            <summary>
            Scales a color.
            </summary>
            <param name="scale">The factor by which to scale the color.</param>
            <param name="value">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Multiply(Stride.Core.Mathematics.Color4,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The factor by which to scale the color.</param>
            <param name="scale">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Multiply(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Equality(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Inequality(Stride.Core.Mathematics.Color4,Stride.Core.Mathematics.Color4)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(Stride.Core.Mathematics.Color4)~Stride.Core.Mathematics.Color3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color4"/> to <see cref="T:Stride.Core.Mathematics.Color3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(Stride.Core.Mathematics.Color4)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color4"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Implicit(Stride.Core.Mathematics.Color4)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Color4"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(Stride.Core.Mathematics.Vector3)~Stride.Core.Mathematics.Color4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(Stride.Core.Mathematics.Vector4)~Stride.Core.Mathematics.Color4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(Stride.Core.Mathematics.ColorBGRA)~Stride.Core.Mathematics.Color4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(Stride.Core.Mathematics.Color4)~Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(Stride.Core.Mathematics.Color4)~System.Int32">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color4"/> to <see cref="T:System.Int32"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The result of the conversion.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.op_Explicit(System.Int32)~Stride.Core.Mathematics.Color4">
            <summary>
            Performs an explicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The result of the conversion.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToColor3">
            <summary>
            Converts this color to an equivalent <see cref="T:Stride.Core.Mathematics.Color3"/>, discarding the alpha channel.
            </summary>
            <returns>An equivalent <see cref="T:Stride.Core.Mathematics.Color3"/>, discarding the alpha channel.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format to apply to each channel (float).</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format to apply to each channel (float).</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Equals(Stride.Core.Mathematics.Color4)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Color4"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Color4"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Color4"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Color4.Deconstruct(System.Single@,System.Single@,System.Single@,System.Single@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="r">The R component</param>
            <param name="g">The G component</param>
            <param name="b">The B component</param>
            <param name="a">The A component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Represents a 32-bit color (4 bytes) in the form of BGRA (in byte order: B, G, R, A).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorBGRA.B">
            <summary>
            The blue component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorBGRA.G">
            <summary>
            The green component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorBGRA.R">
            <summary>
            The red component of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorBGRA.A">
            <summary>
            The alpha component of the color.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.Byte)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="red">The red component of the color.</param>
            <param name="green">The green component of the color.</param>
            <param name="blue">The blue component of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(Stride.Core.Mathematics.Vector4)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="value">The red, green, blue, and alpha components of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="value">The red, green, and blue components of the color.</param>
            <param name="alpha">The alpha component of the color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="bgra">A packed integer containing all four color components in BGRA order.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="bgra">A packed integer containing all four color components in BGRA.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="values">The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.#ctor(System.Byte[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> struct.
            </summary>
            <param name="values">The values to assign to the red, green, and blue, alpha components of the color. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.ColorBGRA.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the alpha, red, green, or blue component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the alpha component, 1 for the red component, 2 for the green component, and 3 for the blue component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToBgra">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToRgba">
            <summary>
            Converts the color into a packed integer.
            </summary>
            <returns>A packed integer containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToVector3">
            <summary>
            Converts the color into a three component vector.
            </summary>
            <returns>A three component vector containing the red, green, and blue components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToColor3">
            <summary>
            Converts the color into a three component color.
            </summary>
            <returns>A three component color containing the red, green, and blue components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToVector4">
            <summary>
            Converts the color into a four component vector.
            </summary>
            <returns>A four component vector containing all four color components.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToArray">
            <summary>
            Creates an array containing the elements of the color.
            </summary>
            <returns>A four-element array containing the components of the color in BGRA order.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.GetBrightness">
            <summary>
            Gets the brightness.
            </summary>
            <returns>The Hue-Saturation-Brightness (HSB) saturation for this <see cref="T:Stride.Core.Mathematics.Color"/></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.GetHue">
            <summary>
            Gets the hue.
            </summary>
            <returns>The Hue-Saturation-Brightness (HSB) saturation for this <see cref="T:Stride.Core.Mathematics.Color"/></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.GetSaturation">
            <summary>
            Gets the saturation.
            </summary>
            <returns>The Hue-Saturation-Brightness (HSB) saturation for this <see cref="T:Stride.Core.Mathematics.Color"/></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.FromBgra(System.Int32)">
            <summary>
            Converts the color from a packed BGRA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in BGRA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.FromBgra(System.UInt32)">
            <summary>
            Converts the color from a packed BGRA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in BGRA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.FromRgba(System.Int32)">
            <summary>
            Converts the color from a packed RGBA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in RGBA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.FromRgba(System.UInt32)">
            <summary>
            Converts the color from a packed RGBA integer.
            </summary>
            <param name="color">A packed integer containing all four color components in RGBA order</param>
            <returns>A color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Add(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <param name="result">When the method completes, completes the sum of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Add(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Subtract(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <param name="result">WHen the method completes, contains the difference of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Subtract(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Modulate(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <param name="result">When the method completes, contains the modulated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Modulate(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Scale(Stride.Core.Mathematics.ColorBGRA@,System.Single,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <param name="result">When the method completes, contains the scaled color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Scale(Stride.Core.Mathematics.ColorBGRA,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The color to scale.</param>
            <param name="scale">The amount by which to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Negate(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <param name="result">When the method completes, contains the negated color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Negate(Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>The negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Clamp(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Clamp(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Lerp(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,System.Single,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two colors.</param>
            <remarks>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Lerp(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA,System.Single)">
            <summary>
            Performs a linear interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two colors.</returns>
            <remarks>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.SmoothStep(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,System.Single,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.SmoothStep(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA,System.Single)">
            <summary>
            Performs a cubic interpolation between two colors.
            </summary>
            <param name="start">Start color.</param>
            <param name="end">End color.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Max(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Returns a color containing the smallest components of the specified colorss.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the largest components of the source colorss.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Max(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Returns a color containing the largest components of the specified colorss.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the largest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Min(Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <param name="result">When the method completes, contains an new color composed of the smallest components of the source colors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Min(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Returns a color containing the smallest components of the specified colors.
            </summary>
            <param name="left">The first source color.</param>
            <param name="right">The second source color.</param>
            <returns>A color containing the smallest components of the source colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.AdjustContrast(Stride.Core.Mathematics.ColorBGRA@,System.Single,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.AdjustContrast(Stride.Core.Mathematics.ColorBGRA,System.Single)">
            <summary>
            Adjusts the contrast of a color.
            </summary>
            <param name="value">The color whose contrast is to be adjusted.</param>
            <param name="contrast">The amount by which to adjust the contrast.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.AdjustSaturation(Stride.Core.Mathematics.ColorBGRA@,System.Single,Stride.Core.Mathematics.ColorBGRA@)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <param name="result">When the method completes, contains the adjusted color.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.AdjustSaturation(Stride.Core.Mathematics.ColorBGRA,System.Single)">
            <summary>
            Adjusts the saturation of a color.
            </summary>
            <param name="value">The color whose saturation is to be adjusted.</param>
            <param name="saturation">The amount by which to adjust the saturation.</param>
            <returns>The adjusted color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Addition(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Adds two colors.
            </summary>
            <param name="left">The first color to add.</param>
            <param name="right">The second color to add.</param>
            <returns>The sum of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_UnaryPlus(Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Assert a color (return it unchanged).
            </summary>
            <param name="value">The color to assert (unchange).</param>
            <returns>The asserted (unchanged) color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Subtraction(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Subtracts two colors.
            </summary>
            <param name="left">The first color to subtract.</param>
            <param name="right">The second color to subtract.</param>
            <returns>The difference of the two colors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_UnaryNegation(Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Negates a color.
            </summary>
            <param name="value">The color to negate.</param>
            <returns>A negated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Multiply(System.Single,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Scales a color.
            </summary>
            <param name="scale">The factor by which to scale the color.</param>
            <param name="value">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Multiply(Stride.Core.Mathematics.ColorBGRA,System.Single)">
            <summary>
            Scales a color.
            </summary>
            <param name="value">The factor by which to scale the color.</param>
            <param name="scale">The color to scale.</param>
            <returns>The scaled color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Multiply(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Modulates two colors.
            </summary>
            <param name="left">The first color to modulate.</param>
            <param name="right">The second color to modulate.</param>
            <returns>The modulated color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Equality(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Inequality(Stride.Core.Mathematics.ColorBGRA,Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.ColorBGRA)~Stride.Core.Mathematics.Color3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> to <see cref="T:Stride.Core.Mathematics.Color3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.ColorBGRA)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.ColorBGRA)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.ColorBGRA)~Stride.Core.Mathematics.Color4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> to <see cref="T:Stride.Core.Mathematics.Color4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.Vector3)~Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.ColorBGRA"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.Color3)~Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color3"/> to <see cref="T:Stride.Core.Mathematics.ColorBGRA"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.Vector4)~Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.ColorBGRA"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.Color4)~Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Color4"/> to <see cref="T:Stride.Core.Mathematics.ColorBGRA"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Implicit(Stride.Core.Mathematics.Color)~Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Color"/> to <see cref="T:Stride.Core.Mathematics.ColorBGRA"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Implicit(Stride.Core.Mathematics.ColorBGRA)~Stride.Core.Mathematics.Color">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> to <see cref="T:Stride.Core.Mathematics.Color"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(Stride.Core.Mathematics.ColorBGRA)~System.Int32">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> to <see cref="T:System.Int32"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The result of the conversion.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.op_Explicit(System.Int32)~Stride.Core.Mathematics.ColorBGRA">
            <summary>
            Performs an explicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Stride.Core.Mathematics.ColorBGRA"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>
            The result of the conversion.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format to apply to each channel (byte).</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format to apply to each channel (byte).</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Equals(Stride.Core.Mathematics.ColorBGRA)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.ColorBGRA"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorBGRA.Deconstruct(System.Byte@,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="r">The R component</param>
            <param name="g">The G component</param>
            <param name="b">The B component</param>
            <param name="a">The A component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.ColorExtensions">
            <summary>
            A class containing extension methods for processing colors.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorExtensions.CanConvertStringToRgba(System.String)">
            <summary>
            Indicates if the given string can be converted to an <see cref="T:System.UInt32"/> RGBA value using <see cref="M:Stride.Core.Mathematics.ColorExtensions.StringToRgba(System.String)"/>.
            </summary>
            <param name="stringColor">The string to convert.</param>
            <returns>True if the string can be converted, false otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorExtensions.StringToRgba(System.String)">
            <summary>
            Converts the given string to an <see cref="T:System.UInt32"/> RGBA value.
            </summary>
            <param name="stringColor">The string to convert.</param>
            <returns>The converted RGBA value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorExtensions.RgbToString(System.Int32)">
            <summary>
            Converts the given RGB value to a string.
            </summary>
            <param name="value">The RGB value to convert.</param>
            <returns>The converted string.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorExtensions.RgbaToString(System.Int32)">
            <summary>
            Converts the given RGBA value to a string.
            </summary>
            <param name="value">The RGBA value to convert.</param>
            <returns>The converted string.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.ColorHSV">
            <summary>
            Represents a color in the form of Hue, Saturation, Value, Alpha.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorHSV.H">
            <summary>
            The Hue of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorHSV.S">
            <summary>
            The Saturation of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorHSV.V">
            <summary>
            The Value of the color.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ColorHSV.A">
            <summary>
            The alpha component of the color.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.ColorHSV"/> struct.
            </summary>
            <param name="h">The h.</param>
            <param name="s">The s.</param>
            <param name="v">The v.</param>
            <param name="a">A.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.ToColor">
            <summary>
            Converts the color into a three component vector.
            </summary>
            <returns>A three component vector containing the red, green, and blue components of the color.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.FromColor(Stride.Core.Mathematics.Color4)">
            <summary>
            Converts the color into a HSV color.
            </summary>
            <param name="color">The color.</param>
            <returns>A HSV color</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.Equals(Stride.Core.Mathematics.ColorHSV)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.ColorHSV.Deconstruct(System.Single@,System.Single@,System.Single@,System.Single@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="h">The H component</param>
            <param name="s">The S component</param>
            <param name="v">The V component</param>
            <param name="a">The A component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.ContainmentType">
            <summary>
            Describes how one bounding volume contains another.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ContainmentType.Disjoint">
            <summary>
            The two bounding volumes don't intersect at all.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ContainmentType.Contains">
            <summary>
            One bounding volume completely contains another.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.ContainmentType.Intersects">
            <summary>
            The two bounding volumes overlap.
            </summary>
        </member>
        <member name="T:Stride.Core.Mathematics.Double2">
            <summary>
            Represents a two dimensional mathematical vector with double-precision floats.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double2.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Double2"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double2.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Double2"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double2.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Double2"/> (1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double2.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Double2"/> (0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double2.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Double2"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double2.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double2.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.#ctor(System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double2"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.#ctor(System.Double,System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double2"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.#ctor(System.Double[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double2"/> struct.
            </summary>
            <param name="values">The values to assign to the X and Y components of the vector. This must be an array with two elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than two elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.#ctor(Stride.Core.Mathematics.Vector2)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double2"/> struct.
            </summary>
            <param name="v">The Vector2 to construct the Double2 from.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.Double2.IsNormalized">
            <summary>
            Gets a value indicting whether this instance is normalized.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Double2.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X or Y component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component and 1 for the Y component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 1].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double2.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Double2.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Normalize">
            <summary>
            Converts the vector into a unit vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A two-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Add(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Add(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Subtract(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Subtract(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Multiply(Stride.Core.Mathematics.Double2@,System.Double,Stride.Core.Mathematics.Double2@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Multiply(Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Modulate(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Modulate(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Divide(Stride.Core.Mathematics.Double2@,System.Double,Stride.Core.Mathematics.Double2@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Divide(Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Demodulate(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <param name="result">When the method completes, contains the demodulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Demodulate(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <returns>The demodulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Negate(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Negate(Stride.Core.Mathematics.Double2)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Barycentric(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double,System.Double,Stride.Core.Mathematics.Double2@)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <param name="result">When the method completes, contains the 2D Cartesian coordinates of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Barycentric(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,System.Double,System.Double)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <returns>A new <see cref="T:Stride.Core.Mathematics.Double2"/> containing the 2D Cartesian coordinates of the specified point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Clamp(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Clamp(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Distance(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double@)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the distance between the two vectors.</param>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double2.DistanceSquared(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double@)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Distance(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The distance between the two vectors.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double2.DistanceSquared(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.DistanceSquared(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double@)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector</param>
            <param name="result">When the method completes, contains the squared distance between the two vectors.</param>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.DistanceSquared(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The squared distance between the two vectors.</returns>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Dot(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Dot(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Normalize(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <param name="result">When the method completes, contains the normalized vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Normalize(Stride.Core.Mathematics.Double2)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <returns>The normalized vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Lerp(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double,Stride.Core.Mathematics.Double2@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Lerp(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.SmoothStep(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double,Stride.Core.Mathematics.Double2@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.SmoothStep(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Hermite(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double,Stride.Core.Mathematics.Double2@)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Hermite spline interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Hermite(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <returns>The result of the Hermite spline interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.CatmullRom(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,System.Double,Stride.Core.Mathematics.Double2@)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Catmull-Rom interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.CatmullRom(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <returns>A vector that is the result of the Catmull-Rom interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Max(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Max(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Min(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Min(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Reflect(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <param name="result">When the method completes, contains the reflected vector.</param>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Reflect(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <returns>The reflected vector.</returns>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Orthogonalize(Stride.Core.Mathematics.Double2[],Stride.Core.Mathematics.Double2[])">
            <summary>
            Orthogonalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthogonalized vectors.</param>
            <param name="source">The list of vectors to orthogonalize.</param>
            <remarks>
            <para>Orthogonalization is the process of making all vectors orthogonal to each other. This
            means that any given vector in the list will be orthogonal to any other given vector in the
            list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Orthonormalize(Stride.Core.Mathematics.Double2[],Stride.Core.Mathematics.Double2[])">
            <summary>
            Orthonormalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthonormalized vectors.</param>
            <param name="source">The list of vectors to orthonormalize.</param>
            <remarks>
            <para>Orthonormalization is the process of making all vectors orthogonal to each
            other and making all vectors of unit length. This means that any given vector will
            be orthogonal to any other given vector in the list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Transform(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Transform(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Transform(Stride.Core.Mathematics.Double2[],Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Double2[])">
            <summary>
            Transforms an array of vectors by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Transform(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Transform(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Matrix)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Transform(Stride.Core.Mathematics.Double2[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double4[])">
            <summary>
            Transforms an array of 2D vectors by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.TransformCoordinate(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed coordinates.</param>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.TransformCoordinate(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed coordinates.</returns>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.TransformCoordinate(Stride.Core.Mathematics.Double2[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double2[])">
            <summary>
            Performs a coordinate transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of coordinate vectors to trasnform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.TransformNormal(Stride.Core.Mathematics.Double2@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double2@)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed normal.</param>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.TransformNormal(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed normal.</returns>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.TransformNormal(Stride.Core.Mathematics.Double2[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double2[])">
            <summary>
            Performs a normal transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of normal vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Addition(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_UnaryPlus(Stride.Core.Mathematics.Double2)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Subtraction(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_UnaryNegation(Stride.Core.Mathematics.Double2)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Multiply(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to multiply.</param>
            <param name="right">The second vector to multiply.</param>
            <returns>The multiplication of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Multiply(System.Double,Stride.Core.Mathematics.Double2)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Multiply(Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Division(Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Division(System.Double,Stride.Core.Mathematics.Double2)">
            <summary>
            Divides a numerator by a vector.
            </summary>
            <param name="numerator">The numerator.</param>
            <param name="value">The value.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Division(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Divides a vector by the given vector, component-wise.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="by">The by.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Equality(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Inequality(Stride.Core.Mathematics.Double2,Stride.Core.Mathematics.Double2)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Explicit(Stride.Core.Mathematics.Double2)~Stride.Core.Mathematics.Vector2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double2"/> to <see cref="T:Stride.Core.Mathematics.Vector2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Implicit(Stride.Core.Mathematics.Vector2)~Stride.Core.Mathematics.Double2">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Vector2"/> to <see cref="T:Stride.Core.Mathematics.Double2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Explicit(Stride.Core.Mathematics.Double2)~Stride.Core.Mathematics.Half2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double2"/> to <see cref="T:Stride.Core.Mathematics.Half2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Explicit(Stride.Core.Mathematics.Half2)~Stride.Core.Mathematics.Double2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Half2"/> to <see cref="T:Stride.Core.Mathematics.Double2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Explicit(Stride.Core.Mathematics.Double2)~Stride.Core.Mathematics.Double3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double2"/> to <see cref="T:Stride.Core.Mathematics.Double3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.op_Explicit(Stride.Core.Mathematics.Double2)~Stride.Core.Mathematics.Double4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double2"/> to <see cref="T:Stride.Core.Mathematics.Double4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Equals(Stride.Core.Mathematics.Double2)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Double2"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Double2"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Double2"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double2.Deconstruct(System.Double@,System.Double@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Double3">
            <summary>
            Represents a three dimensional mathematical vector with double-precision floats.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Double3"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Double3"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Double3"/> (1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Double3"/> (0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.UnitZ">
            <summary>
            The Z unit <see cref="T:Stride.Core.Mathematics.Double3"/> (0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Double3"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double3.Z">
            <summary>
            The Z component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.#ctor(System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double3"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double3"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.#ctor(Stride.Core.Mathematics.Double2,System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double3"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X and Y components.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.#ctor(System.Double[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double3"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than three elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.#ctor(Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double3"/> struct.
            </summary>
            <param name="v">The Vector3 to construct the Double3 from.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.Double3.IsNormalized">
            <summary>
            Gets a value indicting whether this instance is normalized.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Double3.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, or Z component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 2].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double3.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Double3.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Normalize">
            <summary>
            Converts the vector into a unit vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Pow(System.Double)">
            <summary>
            Raises the exponent for each components.
            </summary>
            <param name="exponent">The exponent.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A three-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Add(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Add(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Subtract(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Subtract(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Multiply(Stride.Core.Mathematics.Double3@,System.Double,Stride.Core.Mathematics.Double3@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Multiply(Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Modulate(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Modulate(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Divide(Stride.Core.Mathematics.Double3@,System.Double,Stride.Core.Mathematics.Double3@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Divide(Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Demodulate(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <param name="result">When the method completes, contains the demodulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Demodulate(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <returns>The demodulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Negate(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Negate(Stride.Core.Mathematics.Double3)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Barycentric(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double,System.Double,Stride.Core.Mathematics.Double3@)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <param name="result">When the method completes, contains the 3D Cartesian coordinates of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Barycentric(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,System.Double,System.Double)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <returns>A new <see cref="T:Stride.Core.Mathematics.Double3"/> containing the 3D Cartesian coordinates of the specified point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Clamp(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Clamp(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Cross(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Calculates the cross product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains he cross product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Cross(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Calculates the cross product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The cross product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Distance(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double@)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the distance between the two vectors.</param>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double3.DistanceSquared(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double@)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Distance(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The distance between the two vectors.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double3.DistanceSquared(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.DistanceSquared(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double@)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the squared distance between the two vectors.</param>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.DistanceSquared(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The squared distance between the two vectors.</returns>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Dot(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Dot(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Normalize(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <param name="result">When the method completes, contains the normalized vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Normalize(Stride.Core.Mathematics.Double3)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <returns>The normalized vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Lerp(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double,Stride.Core.Mathematics.Double3@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Lerp(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.SmoothStep(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double,Stride.Core.Mathematics.Double3@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.SmoothStep(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Hermite(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double,Stride.Core.Mathematics.Double3@)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Hermite spline interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Hermite(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <returns>The result of the Hermite spline interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.CatmullRom(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,System.Double,Stride.Core.Mathematics.Double3@)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Catmull-Rom interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.CatmullRom(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <returns>A vector that is the result of the Catmull-Rom interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Max(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Max(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Min(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Min(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Project(Stride.Core.Mathematics.Double3@,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Projects a 3D vector from object space into screen space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <param name="result">When the method completes, contains the vector in screen space.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Project(Stride.Core.Mathematics.Double3,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,Stride.Core.Mathematics.Matrix)">
            <summary>
            Projects a 3D vector from object space into screen space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <returns>The vector in screen space.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Unproject(Stride.Core.Mathematics.Double3@,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Projects a 3D vector from screen space into object space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <param name="result">When the method completes, contains the vector in object space.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Unproject(Stride.Core.Mathematics.Double3,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,Stride.Core.Mathematics.Matrix)">
            <summary>
            Projects a 3D vector from screen space into object space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <returns>The vector in object space.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Reflect(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <param name="result">When the method completes, contains the reflected vector.</param>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Reflect(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <returns>The reflected vector.</returns>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Orthogonalize(Stride.Core.Mathematics.Double3[],Stride.Core.Mathematics.Double3[])">
            <summary>
            Orthogonalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthogonalized vectors.</param>
            <param name="source">The list of vectors to orthogonalize.</param>
            <remarks>
            <para>Orthogonalization is the process of making all vectors orthogonal to each other. This
            means that any given vector in the list will be orthogonal to any other given vector in the
            list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Orthonormalize(Stride.Core.Mathematics.Double3[],Stride.Core.Mathematics.Double3[])">
            <summary>
            Orthonormalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthonormalized vectors.</param>
            <param name="source">The list of vectors to orthonormalize.</param>
            <remarks>
            <para>Orthonormalization is the process of making all vectors orthogonal to each
            other and making all vectors of unit length. This means that any given vector will
            be orthogonal to any other given vector in the list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Transform(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Transform(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Transform(Stride.Core.Mathematics.Double3[],Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Double3[])">
            <summary>
            Transforms an array of vectors by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Transform(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Transform(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Double3"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Transform(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Matrix)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Transform(Stride.Core.Mathematics.Double3[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double4[])">
            <summary>
            Transforms an array of 3D vectors by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.TransformCoordinate(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed coordinates.</param>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.TransformCoordinate(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed coordinates.</returns>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.TransformCoordinate(Stride.Core.Mathematics.Double3[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double3[])">
            <summary>
            Performs a coordinate transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of coordinate vectors to trasnform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.TransformNormal(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed normal.</param>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.TransformNormal(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed normal.</returns>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.TransformNormal(Stride.Core.Mathematics.Double3[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double3[])">
            <summary>
            Performs a normal transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of normal vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.RotationYawPitchRoll(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Calculate the yaw/pitch/roll rotation equivalent to the provided quaterion.
            </summary>
            <param name="quaternion">The input rotation as quaternion</param>
            <returns>The equivation yaw/pitch/roll rotation</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.RotationYawPitchRoll(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Calculate the yaw/pitch/roll rotation equivalent to the provided quaterion. 
            </summary>
            <param name="quaternion">The input rotation as quaternion</param>
            <param name="yawPitchRoll">The equivation yaw/pitch/roll rotation</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Addition(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_UnaryPlus(Stride.Core.Mathematics.Double3)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Subtraction(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_UnaryNegation(Stride.Core.Mathematics.Double3)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Multiply(System.Double,Stride.Core.Mathematics.Double3)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Multiply(Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Multiply(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to multiply.</param>
            <param name="right">The second vector to multiply.</param>
            <returns>The multiplication of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Addition(Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Adds a vector with the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The vector offset.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Subtraction(Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Substracts a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The vector offset.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Division(System.Double,Stride.Core.Mathematics.Double3)">
            <summary>
            Divides a numerator by a vector.
            </summary>
            <param name="numerator">The numerator.</param>
            <param name="value">The value.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Division(Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Division(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Divides a vector by the given vector, component-wise.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="by">The by.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Equality(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Inequality(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Explicit(Stride.Core.Mathematics.Double3)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double3"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Implicit(Stride.Core.Mathematics.Vector3)~Stride.Core.Mathematics.Double3">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Double3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Explicit(Stride.Core.Mathematics.Double3)~Stride.Core.Mathematics.Half3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double3"/> to <see cref="T:Stride.Core.Mathematics.Half3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Explicit(Stride.Core.Mathematics.Half3)~Stride.Core.Mathematics.Double3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Half3"/> to <see cref="T:Stride.Core.Mathematics.Double3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Explicit(Stride.Core.Mathematics.Double3)~Stride.Core.Mathematics.Double2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double3"/> to <see cref="T:Stride.Core.Mathematics.Double2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.op_Explicit(Stride.Core.Mathematics.Double3)~Stride.Core.Mathematics.Double4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double3"/> to <see cref="T:Stride.Core.Mathematics.Double4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.NearEqual(Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3,Stride.Core.Mathematics.Double3)">
            <summary>
            Tests whether one 3D vector is near another 3D vector.
            </summary>
            <param name="left">The left vector.</param>
            <param name="right">The right vector.</param>
            <param name="epsilon">The epsilon.</param>
            <returns><c>true</c> if left and right are near another 3D, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.NearEqual(Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@,Stride.Core.Mathematics.Double3@)">
            <summary>
            Tests whether one 3D vector is near another 3D vector.
            </summary>
            <param name="left">The left vector.</param>
            <param name="right">The right vector.</param>
            <param name="epsilon">The epsilon.</param>
            <returns><c>true</c> if left and right are near another 3D, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Equals(Stride.Core.Mathematics.Double3)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Double3"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Double3"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Double3"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double3.Deconstruct(System.Double@,System.Double@,System.Double@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Double4">
            <summary>
            Represents a four dimensional mathematical vector with double-precision floats.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Double4"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Double4"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Double4"/> (1, 0, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Double4"/> (0, 1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.UnitZ">
            <summary>
            The Z unit <see cref="T:Stride.Core.Mathematics.Double4"/> (0, 0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.UnitW">
            <summary>
            The W unit <see cref="T:Stride.Core.Mathematics.Double4"/> (0, 0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Double4"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.Z">
            <summary>
            The Z component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Double4.W">
            <summary>
            The W component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.#ctor(System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double4"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double4"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
            <param name="w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.#ctor(Stride.Core.Mathematics.Double3,System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double4"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X, Y, and Z components.</param>
            <param name="w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.#ctor(Stride.Core.Mathematics.Double2,System.Double,System.Double)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double4"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X and Y components.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
            <param name="w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.#ctor(System.Double[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double4"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.#ctor(Stride.Core.Mathematics.Vector4)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Double4"/> struct.
            </summary>
            <param name="v">The Vector4 to construct the Double4 from.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.Double4.IsNormalized">
            <summary>
            Gets a value indicting whether this instance is normalized.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Double4.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, Z, or W component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double4.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Double4.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Normalize">
            <summary>
            Converts the vector into a unit vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Pow(System.Double)">
            <summary>
            Raises the exponent for each components.
            </summary>
            <param name="exponent">The exponent.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A four-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Add(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Add(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Subtract(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Subtract(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Multiply(Stride.Core.Mathematics.Double4@,System.Double,Stride.Core.Mathematics.Double4@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Multiply(Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Modulate(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Modulate(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Divide(Stride.Core.Mathematics.Double4@,System.Double,Stride.Core.Mathematics.Double4@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Divide(Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Demodulate(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <param name="result">When the method completes, contains the demodulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Demodulate(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <returns>The demodulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Negate(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Negate(Stride.Core.Mathematics.Double4)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Barycentric(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double,System.Double,Stride.Core.Mathematics.Double4@)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <param name="result">When the method completes, contains the 4D Cartesian coordinates of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Barycentric(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,System.Double,System.Double)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <returns>A new <see cref="T:Stride.Core.Mathematics.Double4"/> containing the 4D Cartesian coordinates of the specified point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Clamp(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Clamp(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Distance(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double@)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the distance between the two vectors.</param>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double4.DistanceSquared(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double@)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Distance(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The distance between the two vectors.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Double4.DistanceSquared(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.DistanceSquared(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double@)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the squared distance between the two vectors.</param>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.DistanceSquared(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The squared distance between the two vectors.</returns>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Dot(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Dot(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Normalize(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <param name="result">When the method completes, contains the normalized vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Normalize(Stride.Core.Mathematics.Double4)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <returns>The normalized vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Lerp(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double,Stride.Core.Mathematics.Double4@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Lerp(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.SmoothStep(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double,Stride.Core.Mathematics.Double4@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.SmoothStep(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Hermite(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double,Stride.Core.Mathematics.Double4@)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Hermite spline interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Hermite(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <returns>The result of the Hermite spline interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.CatmullRom(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,System.Double,Stride.Core.Mathematics.Double4@)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Catmull-Rom interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.CatmullRom(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <returns>A vector that is the result of the Catmull-Rom interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Max(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Max(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Min(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Min(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Orthogonalize(Stride.Core.Mathematics.Double4[],Stride.Core.Mathematics.Double4[])">
            <summary>
            Orthogonalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthogonalized vectors.</param>
            <param name="source">The list of vectors to orthogonalize.</param>
            <remarks>
            <para>Orthogonalization is the process of making all vectors orthogonal to each other. This
            means that any given vector in the list will be orthogonal to any other given vector in the
            list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Orthonormalize(Stride.Core.Mathematics.Double4[],Stride.Core.Mathematics.Double4[])">
            <summary>
            Orthonormalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthonormalized vectors.</param>
            <param name="source">The list of vectors to orthonormalize.</param>
            <remarks>
            <para>Orthonormalization is the process of making all vectors orthogonal to each
            other and making all vectors of unit length. This means that any given vector will
            be orthogonal to any other given vector in the list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Transform(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Transform(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Transform(Stride.Core.Mathematics.Double4[],Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Double4[])">
            <summary>
            Transforms an array of vectors by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Transform(Stride.Core.Mathematics.Double4@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double4@)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Transform(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Matrix)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Double4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Transform(Stride.Core.Mathematics.Double4[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Double4[])">
            <summary>
            Transforms an array of 4D vectors by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Addition(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_UnaryPlus(Stride.Core.Mathematics.Double4)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Subtraction(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_UnaryNegation(Stride.Core.Mathematics.Double4)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Multiply(System.Double,Stride.Core.Mathematics.Double4)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Multiply(Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Multiply(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to multiply.</param>
            <param name="right">The second vector to multiply.</param>
            <returns>The multiplication of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Division(Stride.Core.Mathematics.Double4,System.Double)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Division(System.Double,Stride.Core.Mathematics.Double4)">
            <summary>
            Divides a numerator by a vector.
            </summary>
            <param name="numerator">The numerator.</param>
            <param name="value">The value.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Division(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Divides a vector by the given vector, component-wise.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="by">The by.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Equality(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Inequality(Stride.Core.Mathematics.Double4,Stride.Core.Mathematics.Double4)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Explicit(Stride.Core.Mathematics.Double4)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double4"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Implicit(Stride.Core.Mathematics.Vector4)~Stride.Core.Mathematics.Double4">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.Double4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Explicit(Stride.Core.Mathematics.Double4)~Stride.Core.Mathematics.Half4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double4"/> to <see cref="T:Stride.Core.Mathematics.Half4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Explicit(Stride.Core.Mathematics.Half4)~Stride.Core.Mathematics.Double4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Half4"/> to <see cref="T:Stride.Core.Mathematics.Double4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Explicit(Stride.Core.Mathematics.Double4)~Stride.Core.Mathematics.Double2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double4"/> to <see cref="T:Stride.Core.Mathematics.Double2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.op_Explicit(Stride.Core.Mathematics.Double4)~Stride.Core.Mathematics.Double3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Double4"/> to <see cref="T:Stride.Core.Mathematics.Double3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Equals(Stride.Core.Mathematics.Double4)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Double4"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Double4"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Double4"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Double4.Deconstruct(System.Double@,System.Double@,System.Double@,System.Double@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
            <param name="w">The W component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.GuillotinePacker">
            <summary>
            Implementation of a "Guillotine" packer.
            More information at http://clb.demon.fi/files/RectangleBinPack.pdf.
            </summary>
        </member>
        <member name="T:Stride.Core.Mathematics.GuillotinePacker.InsertRectangleCallback">
            <summary>
            A delegate callback used by <see cref="M:Stride.Core.Mathematics.GuillotinePacker.TryInsert(System.Int32,System.Int32,System.Int32,Stride.Core.Mathematics.GuillotinePacker.InsertRectangleCallback)"/>
            </summary>
            <param name="cascadeIndex">The index of the rectangle</param>
            <param name="rectangle">The rectangle found</param>
        </member>
        <member name="P:Stride.Core.Mathematics.GuillotinePacker.Width">
            <summary>
            Current width used by the packer.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.GuillotinePacker.Height">
            <summary>
            Current height used by the packer.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.GuillotinePacker.Clear(System.Int32,System.Int32)">
            <summary>
            Clears the specified region.
            </summary>
            <param name="width">The width.</param>
            <param name="height">The height.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.GuillotinePacker.Clear">
            <summary>
            Clears the whole region.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.GuillotinePacker.Free(Stride.Core.Mathematics.Rectangle@)">
            <summary>
            Frees the specified old rectangle.
            </summary>
            <param name="oldRectangle">The old rectangle.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.GuillotinePacker.Insert(System.Int32,System.Int32,Stride.Core.Mathematics.Rectangle@)">
            <summary>
            Tries to fit a single rectangle with the specified width and height.
            </summary>
            <param name="width">Width requested.</param>
            <param name="height">Height requested</param>
            <param name="bestRectangle">Fill with the rectangle if it was successfully inserted.</param>
            <returns><c>true</c> if it was successfully inserted.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.GuillotinePacker.TryInsert(System.Int32,System.Int32,System.Int32,Stride.Core.Mathematics.GuillotinePacker.InsertRectangleCallback)">
            <summary>
            Tries to fit multiple rectangle with (width, height).
            </summary>
            <param name="width">Width requested.</param>
            <param name="height">Height requested</param>
            <param name="count">The number of rectangle to fit.</param>
            <param name="inserted">A callback called for each rectangle successfully fitted.</param>
            <returns><c>true</c> if all rectangles were successfully fitted.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Half">
            <summary>
              A half precision (16 bit) floating point value.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.PrecisionDigits">
            <summary>
              Number of decimal digits of precision.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.MantissaBits">
            <summary>
              Number of bits in the mantissa.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.MaximumDecimalExponent">
            <summary>
              Maximum decimal exponent.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.MaximumBinaryExponent">
            <summary>
              Maximum binary exponent.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.MinimumDecimalExponent">
            <summary>
              Minimum decimal exponent.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.MinimumBinaryExponent">
            <summary>
              Minimum binary exponent.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.ExponentRadix">
            <summary>
              Exponent radix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.AdditionRounding">
            <summary>
              Additional rounding.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.Epsilon">
            <summary>
              Smallest such that 1.0 + epsilon != 1.0
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.MaxValue">
            <summary>
              Maximum value of the number.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.MinValue">
            <summary>
              Minimum value of the number.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half"/> whose value is 0.0f.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half"/> whose value is 1.0f.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.#ctor(System.Single)">
            <summary>
              Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half"/> structure.
            </summary>
            <param name = "value">The floating point value that should be stored in 16 bit format.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.Half.RawValue">
            <summary>
              Gets or sets the raw 16 bit value used to back this half-float.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.ConvertToFloat(Stride.Core.Mathematics.Half[])">
            <summary>
              Converts an array of half precision values into full precision values.
            </summary>
            <param name = "values">The values to be converted.</param>
            <returns>An array of converted values.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.ConvertToHalf(System.Single[])">
            <summary>
              Converts an array of full precision values into half precision values.
            </summary>
            <param name = "values">The values to be converted.</param>
            <returns>An array of converted values.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.op_Explicit(System.Single)~Stride.Core.Mathematics.Half">
            <summary>
              Performs an explicit conversion from <see cref = "T:System.Single" /> to <see cref = "T:Stride.Core.Mathematics.Half" />.
            </summary>
            <param name = "value">The value to be converted.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.op_Implicit(Stride.Core.Mathematics.Half)~System.Single">
            <summary>
              Performs an implicit conversion from <see cref = "T:Stride.Core.Mathematics.Half" /> to <see cref = "T:System.Single" />.
            </summary>
            <param name = "value">The value to be converted.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.op_Equality(Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half)">
            <summary>
              Tests for equality between two objects.
            </summary>
            <param name = "left">The first value to compare.</param>
            <param name = "right">The second value to compare.</param>
            <returns>
              <c>true</c> if <paramref name = "left" /> has the same value as <paramref name = "right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.op_Inequality(Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half)">
            <summary>
              Tests for inequality between two objects.
            </summary>
            <param name = "left">The first value to compare.</param>
            <param name = "right">The second value to compare.</param>
            <returns>
              <c>true</c> if <paramref name = "left" /> has a different value than <paramref name = "right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.ToString">
            <summary>
              Converts the value of the object to its equivalent string representation.
            </summary>
            <returns>The string representation of the value of this instance.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.GetHashCode">
            <summary>
              Returns the hash code for this instance.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.Equals(Stride.Core.Mathematics.Half@,Stride.Core.Mathematics.Half@)">
            <summary>
              Determines whether the specified object instances are considered equal.
            </summary>
            <param name = "value1">The first value.</param>
            <param name = "value2">The second value.</param>
            <returns>
              <c>true</c> if <paramref name = "value1" /> is the same instance as <paramref name = "value2" /> or 
              if both are <c>null</c> references or if <c>value1.Equals(value2)</c> returns <c>true</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.Equals(Stride.Core.Mathematics.Half)">
            <summary>
              Returns a value that indicates whether the current instance is equal to the specified object.
            </summary>
            <param name = "other">Object to make the comparison with.</param>
            <returns>
              <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half.Equals(System.Object)">
            <summary>
              Returns a value that indicates whether the current instance is equal to a specified object.
            </summary>
            <param name = "obj">Object to make the comparison with.</param>
            <returns>
              <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Half2">
            <summary>
            Represents a two dimensional mathematical vector with half-precision floats.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half2.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Half2"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half2.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half2"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half2.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Half2"/> (1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half2.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Half2"/> (0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half2.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half2"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half2.X">
            <summary>
            Gets or sets the X component of the vector.
            </summary>
            <value>The X component of the vector.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Half2.Y">
            <summary>
            Gets or sets the Y component of the vector.
            </summary>
            <value>The Y component of the vector.</value>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.#ctor(Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half2"/> structure.
            </summary>
            <param name="x">The X component.</param>
            <param name="y">The Y component.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.#ctor(Stride.Core.Mathematics.Half)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half2"/> structure.
            </summary>
            <param name="value">The value to set for both the X and Y components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.#ctor(Stride.Core.Mathematics.Half[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half2"/> struct.
            </summary>
            <param name="values">The values to assign to the X and Y components of the vector. This must be an array with two elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than two elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.#ctor(System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half2"/> structure.
            </summary>
            <param name="x">The X component.</param>
            <param name="y">The Y component.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half2"/> structure.
            </summary>
            <param name="value">The value to set for both the X and Y components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.op_Equality(Stride.Core.Mathematics.Half2,Stride.Core.Mathematics.Half2)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>
            <c>true</c> if <paramref name="left" /> has the same value as <paramref name="right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.op_Inequality(Stride.Core.Mathematics.Half2,Stride.Core.Mathematics.Half2)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>
            <c>true</c> if <paramref name="left" /> has a different value than <paramref name="right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.Equals(Stride.Core.Mathematics.Half2@,Stride.Core.Mathematics.Half2@)">
            <summary>
            Determines whether the specified object instances are considered equal. 
            </summary>
            <param name="value1">The first value.</param>
            <param name="value2">The second value.</param>
            <returns>
            <c>true</c> if <paramref name="value1" /> is the same instance as <paramref name="value2" /> or 
            if both are <c>null</c> references or if <c>value1.Equals(value2)</c> returns <c>true</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.Equals(Stride.Core.Mathematics.Half2)">
            <summary>
            Returns a value that indicates whether the current instance is equal to the specified object. 
            </summary>
            <param name="other">Object to make the comparison with.</param>
            <returns>
            <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.Equals(System.Object)">
            <summary>
            Returns a value that indicates whether the current instance is equal to a specified object. 
            </summary>
            <param name="obj">Object to make the comparison with.</param>
            <returns>
            <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.op_Explicit(Stride.Core.Mathematics.Vector2)~Stride.Core.Mathematics.Half2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector2"/> to <see cref="T:Stride.Core.Mathematics.Half2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.op_Explicit(Stride.Core.Mathematics.Half2)~Stride.Core.Mathematics.Vector2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Half2"/> to <see cref="T:Stride.Core.Mathematics.Vector2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half2.Deconstruct(Stride.Core.Mathematics.Half@,Stride.Core.Mathematics.Half@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Half3">
            <summary>
            Represents a three dimensional mathematical vector with half-precision floats.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Half3"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half3"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Half3"/> (1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Half3"/> (0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.UnitZ">
            <summary>
            The Z unit <see cref="T:Stride.Core.Mathematics.Half3"/> (0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half3"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.X">
            <summary>
            Gets or sets the X component of the vector.
            </summary>
            <value>The X component of the vector.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.Y">
            <summary>
            Gets or sets the Y component of the vector.
            </summary>
            <value>The Y component of the vector.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Half3.Z">
            <summary>
            Gets or sets the Z component of the vector.
            </summary>
            <value>The Z component of the vector.</value>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.#ctor(Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half3"/> structure.
            </summary>
            <param name="x">The X component.</param>
            <param name="y">The Y component.</param>
            <param name="z">The Z component.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.#ctor(Stride.Core.Mathematics.Half)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half3"/> structure.
            </summary>
            <param name="value">The value to set for the X, Y, and Z components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.#ctor(Stride.Core.Mathematics.Half[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half3"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than three elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half3"/> structure.
            </summary>
            <param name="x">The X component.</param>
            <param name="y">The Y component.</param>
            <param name="z">The Z component.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half3"/> structure.
            </summary>
            <param name="value">The value to set for the X, Y, and Z components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.op_Equality(Stride.Core.Mathematics.Half3,Stride.Core.Mathematics.Half3)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>
            <c>true</c> if <paramref name="left" /> has the same value as <paramref name="right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.op_Inequality(Stride.Core.Mathematics.Half3,Stride.Core.Mathematics.Half3)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>
            <c>true</c> if <paramref name="left" /> has a different value than <paramref name="right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.Equals(Stride.Core.Mathematics.Half3@,Stride.Core.Mathematics.Half3@)">
            <summary>
            Determines whether the specified object instances are considered equal. 
            </summary>
            <param name="value1">The first value.</param>
            <param name="value2">The second value.</param>
            <returns>
            <c>true</c> if <paramref name="value1" /> is the same instance as <paramref name="value2" /> or 
            if both are <c>null</c> references or if <c>value1.Equals(value2)</c> returns <c>true</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.Equals(Stride.Core.Mathematics.Half3)">
            <summary>
            Returns a value that indicates whether the current instance is equal to the specified object. 
            </summary>
            <param name="other">Object to make the comparison with.</param>
            <returns>
            <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.op_Explicit(Stride.Core.Mathematics.Vector3)~Stride.Core.Mathematics.Half3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Half3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.op_Explicit(Stride.Core.Mathematics.Half3)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Half3"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.Equals(System.Object)">
            <summary>
            Returns a value that indicates whether the current instance is equal to a specified object. 
            </summary>
            <param name="obj">Object to make the comparison with.</param>
            <returns>
            <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half3.Deconstruct(Stride.Core.Mathematics.Half@,Stride.Core.Mathematics.Half@,Stride.Core.Mathematics.Half@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Half4">
            <summary>
            Represents a four dimensional mathematical vector with half-precision floats.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Half4"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half4"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Half4"/> (1, 0, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Half4"/> (0, 1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.UnitZ">
            <summary>
            The Z unit <see cref="T:Stride.Core.Mathematics.Half4"/> (0, 0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.UnitW">
            <summary>
            The W unit <see cref="T:Stride.Core.Mathematics.Half4"/> (0, 0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Half4"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.X">
            <summary>
            Gets or sets the X component of the vector.
            </summary>
            <value>The X component of the vector.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.Y">
            <summary>
            Gets or sets the Y component of the vector.
            </summary>
            <value>The Y component of the vector.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.Z">
            <summary>
            Gets or sets the Z component of the vector.
            </summary>
            <value>The Z component of the vector.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Half4.W">
            <summary>
            Gets or sets the W component of the vector.
            </summary>
            <value>The W component of the vector.</value>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.#ctor(Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half,Stride.Core.Mathematics.Half)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half4"/> structure.
            </summary>
            <param name="x">The X component.</param>
            <param name="y">The Y component.</param>
            <param name="z">The Z component.</param>
            <param name="w">The W component.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.#ctor(Stride.Core.Mathematics.Half)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half4"/> structure.
            </summary>
            <param name="value">The value to set for the X, Y, Z, and W components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.#ctor(Stride.Core.Mathematics.Half[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half4"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half4"/> structure.
            </summary>
            <param name="x">The X component.</param>
            <param name="y">The Y component.</param>
            <param name="z">The Z component.</param>
            <param name="w">The W component.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Half4"/> structure.
            </summary>
            <param name="value">The value to set for the X, Y, Z, and W components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.op_Equality(Stride.Core.Mathematics.Half4,Stride.Core.Mathematics.Half4)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>
            <c>true</c> if <paramref name="left" /> has the same value as <paramref name="right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.op_Inequality(Stride.Core.Mathematics.Half4,Stride.Core.Mathematics.Half4)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns>
            <c>true</c> if <paramref name="left" /> has a different value than <paramref name="right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.Equals(Stride.Core.Mathematics.Half4@,Stride.Core.Mathematics.Half4@)">
            <summary>
            Determines whether the specified object instances are considered equal. 
            </summary>
            <param name="value1">The first value.</param>
            <param name="value2">The second value.</param>
            <returns>
            <c>true</c> if <paramref name="value1" /> is the same instance as <paramref name="value2" /> or 
            if both are <c>null</c> references or if <c>value1.Equals(value2)</c> returns <c>true</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.Equals(Stride.Core.Mathematics.Half4)">
            <summary>
            Returns a value that indicates whether the current instance is equal to the specified object. 
            </summary>
            <param name="other">Object to make the comparison with.</param>
            <returns>
            <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.op_Explicit(Stride.Core.Mathematics.Vector4)~Stride.Core.Mathematics.Half4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.Half4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.op_Explicit(Stride.Core.Mathematics.Half4)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Half4"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.Equals(System.Object)">
            <summary>
            Returns a value that indicates whether the current instance is equal to a specified object. 
            </summary>
            <param name="obj">Object to make the comparison with.</param>
            <returns>
            <c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Half4.Deconstruct(Stride.Core.Mathematics.Half@,Stride.Core.Mathematics.Half@,Stride.Core.Mathematics.Half@,Stride.Core.Mathematics.Half@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
            <param name="w">The W component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.HalfUtils">
            <summary>
            Helper class to perform Half/Float conversion.
            Code extract from paper : www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf by Jeroen van der Zijp
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.HalfUtils.Unpack(System.UInt16)">
            <summary>
            Unpacks the specified h.
            </summary>
            <param name="h">The packed value.</param>
            <returns>The float representation of the packed value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.HalfUtils.Pack(System.Single)">
            <summary>
            Packs the specified f.
            </summary>
            <param name="f">The float value.</param>
            <returns>The packed representation of the float value.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.IIntersectableWithPlane">
            <summary>
            Allows to determine intersections with a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.IIntersectableWithPlane.Intersects(Stride.Core.Mathematics.Plane@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.IIntersectableWithRay">
            <summary>
            Allows to determine intersections with a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.IIntersectableWithRay.Intersects(Stride.Core.Mathematics.Ray@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.IIntersectableWithRay.Intersects(Stride.Core.Mathematics.Ray@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.IIntersectableWithRay.Intersects(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Int2">
            <summary>
            Represents a two dimensional mathematical vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int2.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Int2"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int2.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Int2"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int2.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Int2"/> (1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int2.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Int2"/> (0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int2.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Int2"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int2.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int2.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int2"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int2"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.#ctor(Stride.Core.Mathematics.Vector2)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int2"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X and Y components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.#ctor(System.Int32[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int2"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than three elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Int2.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X or Y component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component and 1 for the Y component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 1].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Int2.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Int2.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Pow(System.Int32)">
            <summary>
            Raises the exponent for each components.
            </summary>
            <param name="exponent">The exponent.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A two-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Add(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Add(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Subtract(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Subtract(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Multiply(Stride.Core.Mathematics.Int2@,System.Int32,Stride.Core.Mathematics.Int2@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Multiply(Stride.Core.Mathematics.Int2,System.Int32)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Modulate(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Modulate(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Divide(Stride.Core.Mathematics.Int2@,System.Int32,Stride.Core.Mathematics.Int2@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Divide(Stride.Core.Mathematics.Int2,System.Int32)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Negate(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Negate(Stride.Core.Mathematics.Int2)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Clamp(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Clamp(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Dot(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,System.Int32@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Dot(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Lerp(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,System.Single,Stride.Core.Mathematics.Int2@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Lerp(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2,System.Single)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.SmoothStep(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,System.Single,Stride.Core.Mathematics.Int2@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.SmoothStep(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2,System.Single)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Max(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Max(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Min(Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@,Stride.Core.Mathematics.Int2@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Min(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Addition(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_UnaryPlus(Stride.Core.Mathematics.Int2)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Subtraction(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_UnaryNegation(Stride.Core.Mathematics.Int2)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Multiply(System.Single,Stride.Core.Mathematics.Int2)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Multiply(Stride.Core.Mathematics.Int2,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Division(Stride.Core.Mathematics.Int2,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Equality(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Inequality(Stride.Core.Mathematics.Int2,Stride.Core.Mathematics.Int2)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Explicit(Stride.Core.Mathematics.Int2)~Stride.Core.Mathematics.Vector2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Int2"/> to <see cref="T:Stride.Core.Mathematics.Vector2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.op_Explicit(Stride.Core.Mathematics.Int2)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Int2"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Equals(Stride.Core.Mathematics.Int2)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Int2"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Int2"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Int2"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int2.Deconstruct(System.Int32@,System.Int32@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Int3">
            <summary>
            Represents a three dimensional mathematical vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Int3"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Int3"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Int3"/> (1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Int3"/> (0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.UnitZ">
            <summary>
            The Z unit <see cref="T:Stride.Core.Mathematics.Int3"/> (0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Int3"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int3.Z">
            <summary>
            The Z component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int3"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int3"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.#ctor(Stride.Core.Mathematics.Vector2,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int3"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X and Y components.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.#ctor(System.Int32[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Int3"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than three elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Int3.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, or Z component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 2].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Int3.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.LengthUntruncated">
            <summary>
            Calculates the untruncated length of the vector.
            </summary>
            <returns>The length of the vector untruncated.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Int3.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Pow(System.Int32)">
            <summary>
            Raises the exponent for each components.
            </summary>
            <param name="exponent">The exponent.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A three-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Add(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Add(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Subtract(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Subtract(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Multiply(Stride.Core.Mathematics.Int3@,System.Int32,Stride.Core.Mathematics.Int3@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Multiply(Stride.Core.Mathematics.Int3,System.Int32)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Modulate(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Modulate(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Divide(Stride.Core.Mathematics.Int3@,System.Int32,Stride.Core.Mathematics.Int3@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Divide(Stride.Core.Mathematics.Int3,System.Int32)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Negate(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Negate(Stride.Core.Mathematics.Int3)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Clamp(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Clamp(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Dot(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,System.Int32@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Dot(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Lerp(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,System.Single,Stride.Core.Mathematics.Int3@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Lerp(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3,System.Single)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.SmoothStep(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,System.Single,Stride.Core.Mathematics.Int3@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.SmoothStep(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3,System.Single)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Max(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Max(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Min(Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@,Stride.Core.Mathematics.Int3@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Min(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Round(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Int3@,System.MidpointRounding)">
            <summary>
            Returns a vector containing the rounded values of the specified vector.
            </summary>
            <param name="value">The source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the rounded values of the specified vector.</param>
            <param name="rounding">The rounding strategy to use.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Round(Stride.Core.Mathematics.Vector3@,System.MidpointRounding)">
            <summary>
            Returns a vector containing the rounded values of the specified vector.
            </summary>
            <param name="value">The source vector.</param>
            <param name="rounding">The rounding strategy to use.</param>
            <returns>A vector containing the rounded values of the source vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Addition(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_UnaryPlus(Stride.Core.Mathematics.Int3)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Subtraction(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_UnaryNegation(Stride.Core.Mathematics.Int3)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Multiply(System.Single,Stride.Core.Mathematics.Int3)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Multiply(Stride.Core.Mathematics.Int3,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Division(Stride.Core.Mathematics.Int3,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Equality(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Inequality(Stride.Core.Mathematics.Int3,Stride.Core.Mathematics.Int3)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Explicit(Stride.Core.Mathematics.Int3)~Stride.Core.Mathematics.Vector2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Int3"/> to <see cref="T:Stride.Core.Mathematics.Vector2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Explicit(Stride.Core.Mathematics.Int3)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Int3"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.op_Explicit(Stride.Core.Mathematics.Int3)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Int3"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Equals(Stride.Core.Mathematics.Int3)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Int3"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Int3"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Int3"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int3.Deconstruct(System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Int4">
            <summary>
              Represents a four dimensional mathematical vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.SizeInBytes">
            <summary>
              The size of the <see cref = "T:Stride.Core.Mathematics.Int4" /> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.Zero">
            <summary>
              A <see cref = "T:Stride.Core.Mathematics.Int4" /> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.UnitX">
            <summary>
              The X unit <see cref = "T:Stride.Core.Mathematics.Int4" /> (1, 0, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.UnitY">
            <summary>
              The Y unit <see cref = "T:Stride.Core.Mathematics.Int4" /> (0, 1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.UnitZ">
            <summary>
              The Z unit <see cref = "T:Stride.Core.Mathematics.Int4" /> (0, 0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.UnitW">
            <summary>
              The W unit <see cref = "T:Stride.Core.Mathematics.Int4" /> (0, 0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.One">
            <summary>
              A <see cref = "T:Stride.Core.Mathematics.Int4" /> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.X">
            <summary>
              The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.Y">
            <summary>
              The Y component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.Z">
            <summary>
              The Z component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Int4.W">
            <summary>
              The W component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.#ctor(System.Int32)">
            <summary>
              Initializes a new instance of the <see cref = "T:Stride.Core.Mathematics.Int4" /> struct.
            </summary>
            <param name = "value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
              Initializes a new instance of the <see cref = "T:Stride.Core.Mathematics.Int4" /> struct.
            </summary>
            <param name = "x">Initial value for the X component of the vector.</param>
            <param name = "y">Initial value for the Y component of the vector.</param>
            <param name = "z">Initial value for the Z component of the vector.</param>
            <param name = "w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.#ctor(System.Int32[])">
            <summary>
              Initializes a new instance of the <see cref = "T:Stride.Core.Mathematics.Int4" /> struct.
            </summary>
            <param name = "values">The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.</param>
            <exception cref = "T:System.ArgumentNullException">Thrown when <paramref name = "values" /> is <c>null</c>.</exception>
            <exception cref = "T:System.ArgumentOutOfRangeException">Thrown when <paramref name = "values" /> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Int4.Item(System.Int32)">
            <summary>
              Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, Z, or W component, depending on the index.</value>
            <param name = "index">The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref = "T:System.ArgumentOutOfRangeException">Thrown when the <paramref name = "index" /> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Int4.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Int4.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.ToArray">
            <summary>
              Creates an array containing the elements of the vector.
            </summary>
            <returns>A four-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Add(Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@)">
            <summary>
              Adds two vectors.
            </summary>
            <param name = "left">The first vector to add.</param>
            <param name = "right">The second vector to add.</param>
            <param name = "result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Add(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Adds two vectors.
            </summary>
            <param name = "left">The first vector to add.</param>
            <param name = "right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Subtract(Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@)">
            <summary>
              Subtracts two vectors.
            </summary>
            <param name = "left">The first vector to subtract.</param>
            <param name = "right">The second vector to subtract.</param>
            <param name = "result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Subtract(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Subtracts two vectors.
            </summary>
            <param name = "left">The first vector to subtract.</param>
            <param name = "right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Multiply(Stride.Core.Mathematics.Int4@,System.Int32,Stride.Core.Mathematics.Int4@)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <param name = "result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Multiply(Stride.Core.Mathematics.Int4,System.Int32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Modulate(Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@)">
            <summary>
              Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name = "left">The first vector to modulate.</param>
            <param name = "right">The second vector to modulate.</param>
            <param name = "result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Modulate(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name = "left">The first vector to modulate.</param>
            <param name = "right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Divide(Stride.Core.Mathematics.Int4@,System.Int32,Stride.Core.Mathematics.Int4@)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <param name = "result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Divide(Stride.Core.Mathematics.Int4,System.Int32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Negate(Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@)">
            <summary>
              Reverses the direction of a given vector.
            </summary>
            <param name = "value">The vector to negate.</param>
            <param name = "result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Negate(Stride.Core.Mathematics.Int4)">
            <summary>
              Reverses the direction of a given vector.
            </summary>
            <param name = "value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Clamp(Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@)">
            <summary>
              Restricts a value to be within a specified range.
            </summary>
            <param name = "value">The value to clamp.</param>
            <param name = "min">The minimum value.</param>
            <param name = "max">The maximum value.</param>
            <param name = "result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Clamp(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Restricts a value to be within a specified range.
            </summary>
            <param name = "value">The value to clamp.</param>
            <param name = "min">The minimum value.</param>
            <param name = "max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Max(Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@)">
            <summary>
              Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <param name = "result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Max(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Min(Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@,Stride.Core.Mathematics.Int4@)">
            <summary>
              Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <param name = "result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Min(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Addition(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Adds two vectors.
            </summary>
            <param name = "left">The first vector to add.</param>
            <param name = "right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_UnaryPlus(Stride.Core.Mathematics.Int4)">
            <summary>
              Assert a vector (return it unchanged).
            </summary>
            <param name = "value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Subtraction(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Subtracts two vectors.
            </summary>
            <param name = "left">The first vector to subtract.</param>
            <param name = "right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_UnaryNegation(Stride.Core.Mathematics.Int4)">
            <summary>
              Reverses the direction of a given vector.
            </summary>
            <param name = "value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Multiply(System.Int32,Stride.Core.Mathematics.Int4)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Multiply(Stride.Core.Mathematics.Int4,System.Int32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Division(Stride.Core.Mathematics.Int4,System.Int32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Equality(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Tests for equality between two objects.
            </summary>
            <param name = "left">The first value to compare.</param>
            <param name = "right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name = "left" /> has the same value as <paramref name = "right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Inequality(Stride.Core.Mathematics.Int4,Stride.Core.Mathematics.Int4)">
            <summary>
              Tests for inequality between two objects.
            </summary>
            <param name = "left">The first value to compare.</param>
            <param name = "right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name = "left" /> has a different value than <paramref name = "right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Explicit(Stride.Core.Mathematics.Int4)~Stride.Core.Mathematics.Vector2">
            <summary>
              Performs an explicit conversion from <see cref = "T:Stride.Core.Mathematics.Int4" /> to <see cref = "T:Stride.Core.Mathematics.Vector2" />.
            </summary>
            <param name = "value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Explicit(Stride.Core.Mathematics.Int4)~Stride.Core.Mathematics.Vector3">
            <summary>
              Performs an explicit conversion from <see cref = "T:Stride.Core.Mathematics.Int4" /> to <see cref = "T:Stride.Core.Mathematics.Vector3" />.
            </summary>
            <param name = "value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Explicit(Stride.Core.Mathematics.Int4)~Stride.Core.Mathematics.Vector4">
            <summary>
              Performs an explicit conversion from <see cref = "T:Stride.Core.Mathematics.Int4" /> to <see cref = "T:Stride.Core.Mathematics.Vector4" />.
            </summary>
            <param name = "value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.ToString">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.ToString(System.String)">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <param name = "format">The format.</param>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.ToString(System.IFormatProvider)">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <param name = "formatProvider">The format provider.</param>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.ToString(System.String,System.IFormatProvider)">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <param name = "format">The format.</param>
            <param name = "formatProvider">The format provider.</param>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.GetHashCode">
            <summary>
              Returns a hash code for this instance.
            </summary>
            <returns>
              A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Equals(Stride.Core.Mathematics.Int4)">
            <summary>
              Determines whether the specified <see cref = "T:Stride.Core.Mathematics.Int4" /> is equal to this instance.
            </summary>
            <param name = "other">The <see cref = "T:Stride.Core.Mathematics.Int4" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref = "T:Stride.Core.Mathematics.Int4" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Equals(System.Object)">
            <summary>
              Determines whether the specified <see cref = "T:System.Object" /> is equal to this instance.
            </summary>
            <param name = "value">The <see cref = "T:System.Object" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref = "T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Implicit(System.Int32[])~Stride.Core.Mathematics.Int4">
            <summary>
            Performs an implicit conversion from <see cref="T:System.Int32"/> array to <see cref="T:Stride.Core.Mathematics.Int4"/>.
            </summary>
            <param name="input">The input.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.op_Implicit(Stride.Core.Mathematics.Int4)~System.Int32[]">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Int4"/> to <see cref="T:System.Int32"/> array.
            </summary>
            <param name="input">The input.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Int4.Deconstruct(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
            <param name="w">The W component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.MathUtil">
            <summary>
            Common utility methods for math operations.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.MathUtil.ZeroTolerance">
            <summary>
            The value for which all absolute numbers smaller than are considered equal to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.MathUtil.ZeroToleranceDouble">
            <summary>
            The value for which all absolute numbers smaller than are considered equal to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.MathUtil.Pi">
            <summary>
            A value specifying the approximation of π which is 180 degrees.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.MathUtil.TwoPi">
            <summary>
            A value specifying the approximation of 2π which is 360 degrees.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.MathUtil.PiOverTwo">
            <summary>
            A value specifying the approximation of π/2 which is 90 degrees.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.MathUtil.PiOverFour">
            <summary>
            A value specifying the approximation of π/4 which is 45 degrees.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.NearEqual(System.Single,System.Single)">
            <summary>
            Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike <see cref="M:Stride.Core.Mathematics.MathUtil.WithinEpsilon(System.Single,System.Single,System.Single)"/> method). See Remarks.
            See remarks.
            </summary>
            <param name="a">The left value to compare.</param>
            <param name="b">The right value to compare.</param>
            <returns><c>true</c> if a almost equal to b, <c>false</c> otherwise</returns>
            <remarks>
            The code is using the technique described by Bruce Dawson in 
            <a href="http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/">Comparing Floating point numbers 2012 edition</a>. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.IsZero(System.Single)">
            <summary>
            Determines whether the specified value is close to zero (0.0f).
            </summary>
            <param name="a">The floating value.</param>
            <returns><c>true</c> if the specified value is close to zero (0.0f); otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.IsZero(System.Double)">
            <summary>
            Determines whether the specified value is close to zero (0.0f).
            </summary>
            <param name="a">The floating value.</param>
            <returns><c>true</c> if the specified value is close to zero (0.0f); otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.IsOne(System.Single)">
            <summary>
            Determines whether the specified value is close to one (1.0f).
            </summary>
            <param name="a">The floating value.</param>
            <returns><c>true</c> if the specified value is close to one (1.0f); otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.WithinEpsilon(System.Single,System.Single,System.Single)">
            <summary>
            Checks if a - b are almost equals within a float epsilon.
            </summary>
            <param name="a">The left value to compare.</param>
            <param name="b">The right value to compare.</param>
            <param name="epsilon">Epsilon value</param>
            <returns><c>true</c> if a almost equal to b within a float epsilon, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Array``1(``0,System.Int32)">
            <summary>
            Creates a one-dimensional array of the specified <typeparamref name="T"/> and <paramref name="length"/> filled with the specified <paramref name="value"/>.
            </summary>
            <typeparam name="T">The Type of the array to create.</typeparam>
            <param name="value">The value to fill the array with.</param>
            <param name="length">The size of the array to create.</param>
            <returns>A new one-dimensional array of the specified type with the specified length and filled with the specified value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.RevolutionsToDegrees(System.Single)">
            <summary>
            Converts revolutions to degrees.
            </summary>
            <param name="revolution">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.RevolutionsToRadians(System.Single)">
            <summary>
            Converts revolutions to radians.
            </summary>
            <param name="revolution">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.RevolutionsToGradians(System.Single)">
            <summary>
            Converts revolutions to gradians.
            </summary>
            <param name="revolution">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.DegreesToRevolutions(System.Single)">
            <summary>
            Converts degrees to revolutions.
            </summary>
            <param name="degree">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.DegreesToRadians(System.Single)">
            <summary>
            Converts degrees to radians.
            </summary>
            <param name="degree">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.RadiansToRevolutions(System.Single)">
            <summary>
            Converts radians to revolutions.
            </summary>
            <param name="radian">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.RadiansToGradians(System.Single)">
            <summary>
            Converts radians to gradians.
            </summary>
            <param name="radian">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.GradiansToRevolutions(System.Single)">
            <summary>
            Converts gradians to revolutions.
            </summary>
            <param name="gradian">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.GradiansToDegrees(System.Single)">
            <summary>
            Converts gradians to degrees.
            </summary>
            <param name="gradian">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.GradiansToRadians(System.Single)">
            <summary>
            Converts gradians to radians.
            </summary>
            <param name="gradian">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.RadiansToDegrees(System.Single)">
            <summary>
            Converts radians to degrees.
            </summary>
            <param name="radian">The value to convert.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Clamp(System.Single,System.Single,System.Single)">
            <summary>
            Clamps the specified value.
            </summary>
            <param name="value">The value.</param>
            <param name="min">The min.</param>
            <param name="max">The max.</param>
            <returns>The result of clamping a value between min and max</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Clamp(System.Double,System.Double,System.Double)">
            <summary>
            Clamps the specified value.
            </summary>
            <param name="value">The value.</param>
            <param name="min">The min.</param>
            <param name="max">The max.</param>
            <returns>The result of clamping a value between min and max</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Clamp(System.Int32,System.Int32,System.Int32)">
            <summary>
            Clamps the specified value.
            </summary>
            <param name="value">The value.</param>
            <param name="min">The min.</param>
            <param name="max">The max.</param>
            <returns>The result of clamping a value between min and max</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.InverseLerp(System.Single,System.Single,System.Single)">
            <summary>
            Inverse-interpolates a value linearly.
            </summary>
            <param name="min">Minimum value that takes place in inverse-interpolation.</param>
            <param name="max">Maximum value that takes place in inverse-interpolation.</param>
            <param name="value">Value to get inverse interpolation.</param>
            <returns>Returns an inverse-linearly interpolated coeficient.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.InverseLerp(System.Double,System.Double,System.Double)">
            <summary>
            Inverse-interpolates a value linearly.
            </summary>
            <param name="min">Minimum value that takes place in inverse-interpolation.</param>
            <param name="max">Maximum value that takes place in inverse-interpolation.</param>
            <param name="value">Value to get inverse interpolation.</param>
            <returns>Returns an inverse-linearly interpolated coeficient.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Lerp(System.Double,System.Double,System.Double)">
            <summary>
            Interpolates between two values using a linear function by a given amount.
            </summary>
            <remarks>
            See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
            http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
            </remarks>
            <param name="from">Value to interpolate from.</param>
            <param name="to">Value to interpolate to.</param>
            <param name="amount">Interpolation amount.</param>
            <returns>The result of linear interpolation of values based on the amount.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Lerp(System.Single,System.Single,System.Single)">
            <summary>
            Interpolates between two values using a linear function by a given amount.
            </summary>
            <remarks>
            See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
            http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
            </remarks>
            <param name="from">Value to interpolate from.</param>
            <param name="to">Value to interpolate to.</param>
            <param name="amount">Interpolation amount.</param>
            <returns>The result of linear interpolation of values based on the amount.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Lerp(System.Byte,System.Byte,System.Single)">
            <summary>
            Interpolates between two values using a linear function by a given amount.
            </summary>
            <remarks>
            See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
            http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
            </remarks>
            <param name="from">Value to interpolate from.</param>
            <param name="to">Value to interpolate to.</param>
            <param name="amount">Interpolation amount.</param>
            <returns>The result of linear interpolation of values based on the amount.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.SmoothStep(System.Single)">
            <summary>
            Performs smooth (cubic Hermite) interpolation between 0 and 1.
            </summary>
            <remarks>
            See https://en.wikipedia.org/wiki/Smoothstep
            </remarks>
            <param name="amount">Value between 0 and 1 indicating interpolation amount.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.SmootherStep(System.Single)">
            <summary>
            Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
            </summary>
            <remarks>
            See https://en.wikipedia.org/wiki/Smoothstep
            </remarks>
            <param name="amount">Value between 0 and 1 indicating interpolation amount.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.IsInRange(System.Single,System.Single,System.Single)">
            <summary>
            Determines whether the value is inside the given range (inclusively).
            </summary>
            <param name="value">The value.</param>
            <param name="min">The minimum value of the range.</param>
            <param name="max">The maximum value of the range.</param>
            <returns><c>true</c> if value is inside the specified range; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.IsInRange(System.Int32,System.Int32,System.Int32)">
            <summary>
            Determines whether the value is inside the given range (inclusively).
            </summary>
            <param name="value">The value.</param>
            <param name="min">The minimum value of the range.</param>
            <param name="max">The maximum value of the range.</param>
            <returns><c>true</c> if value is inside the specified range; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.IsPow2(System.Int32)">
            <summary>
            Determines whether the specified x is pow2.
            </summary>
            <param name="x">The x.</param>
            <returns><c>true</c> if the specified x is pow2; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.SRgbToLinear(System.Single)">
            <summary>
            Converts a float value from sRGB to linear.
            </summary>
            <param name="sRgbValue">The sRGB value.</param>
            <returns>A linear value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.LinearToSRgb(System.Single)">
            <summary>
            Converts a float value from linear to sRGB.
            </summary>
            <param name="linearValue">The linear value.</param>
            <returns>The encoded sRGB value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Log2(System.Single)">
            <summary>
            Calculate the logarithm 2 of a floating point.
            </summary>
            <param name="x">The input float</param>
            <returns><value>Log2(x)</value></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Log2(System.Int32)">
            <summary>
            Calculate the logarithm 2 of an integer.
            </summary>
            <param name="i">The input integer</param>
            <returns><value>the log2(i) rounded to lower integer</value></returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.NextPowerOfTwo(System.Int32)">
            <summary>
            Get the next power of two of an integer.
            </summary>
            <param name="x">The size.</param>
            <returns>System.Int32.</returns>
            <remarks>https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.NextPowerOfTwo(System.Single)">
            <summary>
            Get the next power of two for a size.
            </summary>
            <param name="size">The size.</param>
            <returns>System.Int32.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.PreviousPowerOfTwo(System.Int32)">
            <summary>
            Get the previous power of two of the provided integer.
            </summary>
            <param name="size">The value</param>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.PreviousPowerOfTwo(System.Single)">
            <summary>
            Get the previous power of two of the provided float.
            </summary>
            <param name="size">The value</param>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.AlignUp(System.Int32,System.Int32)">
            <summary>
            Alignes value up to match desire alignment.
            </summary>
            <param name="value">The value.</param>
            <param name="alignment">The alignment.</param>
            <returns>Aligned value (multiple of alignment).</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.AlignDown(System.Int32,System.Int32)">
            <summary>
            Alignes value down to match desire alignment.
            </summary>
            <param name="value">The value.</param>
            <param name="alignment">The alignment.</param>
            <returns>Aligned value (multiple of alignment).</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.IsAligned(System.Int32,System.Int32)">
            <summary>
            Determines whether the specified value is aligned.
            </summary>
            <param name="value">The value.</param>
            <param name="alignment">The alignment.</param>
            <returns><c>true</c> if the specified value is aligned; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Snap(System.Single,System.Single)">
            <summary>
            Snaps a value to the nearest interval.
            </summary>
            <param name="value">The value to snap.</param>
            <param name="gap">The interval gap.</param>
            <returns>The nearest interval to the provided value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Snap(System.Double,System.Double)">
            <summary>
            Snaps a value to the nearest interval.
            </summary>
            <param name="value">The value to snap.</param>
            <param name="gap">The interval gap.</param>
            <returns>The nearest interval to the provided value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Snap(Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Snaps all vector components to the nearest interval.
            </summary>
            <param name="value">The vector to snap.</param>
            <param name="gap">The interval gap.</param>
            <returns>A vector which components are snapped to the nearest interval.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Snap(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Snaps all vector components to the nearest interval.
            </summary>
            <param name="value">The vector to snap.</param>
            <param name="gap">The interval gap.</param>
            <returns>A vector which components are snapped to the nearest interval.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Snap(Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Snaps all vector components to the nearest interval.
            </summary>
            <param name="value">The vector to snap.</param>
            <param name="gap">The interval gap.</param>
            <returns>A vector which components are snapped to the nearest interval.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.MathUtil.Mod(System.Single,System.Single)">
            <summary>
            Computes standard mathematical modulo (as opposed to remainder).
            </summary>
            <param name="value">The value.</param>
            <param name="divisor">The divisor.</param>
            <returns>A value between 0 and divisor. The result will have the same sign as divisor.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Matrix">
            <summary>
            Represents a 4x4 mathematical matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.LayoutIsRowMajor">
            <summary> Are matrix row or column major </summary>
            <remarks>
            Dotnet's <see cref="T:System.Numerics.Matrix4x4"/> are row major.
            </remarks>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Matrix"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Matrix"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.Identity">
            <summary>
            The identity <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M11">
            <summary>
            Value at row 1 column 1 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M21">
            <summary>
            Value at row 2 column 1 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M31">
            <summary>
            Value at row 3 column 1 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M41">
            <summary>
            Value at row 4 column 1 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M12">
            <summary>
            Value at row 1 column 2 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M22">
            <summary>
            Value at row 2 column 2 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M32">
            <summary>
            Value at row 3 column 2 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M42">
            <summary>
            Value at row 4 column 2 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M13">
            <summary>
            Value at row 1 column 3 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M23">
            <summary>
            Value at row 2 column 3 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M33">
            <summary>
            Value at row 3 column 3 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M43">
            <summary>
            Value at row 4 column 3 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M14">
            <summary>
            Value at row 1 column 4 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M24">
            <summary>
            Value at row 2 column 4 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M34">
            <summary>
            Value at row 3 column 4 of the matrix.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Matrix.M44">
            <summary>
            Value at row 4 column 4 of the matrix.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Matrix"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Matrix"/> struct.
            </summary>
            <param name="M11">The value to assign at row 1 column 1 of the matrix.</param>
            <param name="M12">The value to assign at row 1 column 2 of the matrix.</param>
            <param name="M13">The value to assign at row 1 column 3 of the matrix.</param>
            <param name="M14">The value to assign at row 1 column 4 of the matrix.</param>
            <param name="M21">The value to assign at row 2 column 1 of the matrix.</param>
            <param name="M22">The value to assign at row 2 column 2 of the matrix.</param>
            <param name="M23">The value to assign at row 2 column 3 of the matrix.</param>
            <param name="M24">The value to assign at row 2 column 4 of the matrix.</param>
            <param name="M31">The value to assign at row 3 column 1 of the matrix.</param>
            <param name="M32">The value to assign at row 3 column 2 of the matrix.</param>
            <param name="M33">The value to assign at row 3 column 3 of the matrix.</param>
            <param name="M34">The value to assign at row 3 column 4 of the matrix.</param>
            <param name="M41">The value to assign at row 4 column 1 of the matrix.</param>
            <param name="M42">The value to assign at row 4 column 2 of the matrix.</param>
            <param name="M43">The value to assign at row 4 column 3 of the matrix.</param>
            <param name="M44">The value to assign at row 4 column 4 of the matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Matrix"/> struct.
            </summary>
            <param name="values">The values to assign to the components of the matrix. This must be an array with sixteen elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than sixteen elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Row1">
            <summary>
            Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Row2">
            <summary>
            Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Row3">
            <summary>
            Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Row4">
            <summary>
            Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Column1">
            <summary>
            Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Column2">
            <summary>
            Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Column3">
            <summary>
            Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Column4">
            <summary>
            Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.TranslationVector">
            <summary>
            Gets or sets the translation of the matrix; that is M41, M42, and M43.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.ScaleVector">
            <summary>
            Gets or sets the scale of the matrix; that is M11, M22, and M33.
            </summary>
            <remarks>This property does not do any computation and will return a correct scale vector only if the matrix is a scale matrix.</remarks>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Up">
            <summary>
            Gets or sets the up <see cref="T:Stride.Core.Mathematics.Vector3"/> of the matrix; that is M21, M22, and M23.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Down">
            <summary>
            Gets or sets the down <see cref="T:Stride.Core.Mathematics.Vector3"/> of the matrix; that is -M21, -M22, and -M23.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Right">
            <summary>
            Gets or sets the right <see cref="T:Stride.Core.Mathematics.Vector3"/> of the matrix; that is M11, M12, and M13.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Left">
            <summary>
            Gets or sets the left <see cref="T:Stride.Core.Mathematics.Vector3"/> of the matrix; that is -M11, -M12, and -M13.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Forward">
            <summary>
            Gets or sets the forward <see cref="T:Stride.Core.Mathematics.Vector3"/> of the matrix; that is -M31, -M32, and -M33.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Backward">
            <summary>
            Gets or sets the backward <see cref="T:Stride.Core.Mathematics.Vector3"/> of the matrix; that is M31, M32, and M33.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.IsIdentity">
            <summary>
            Gets a value indicating whether this instance is an identity matrix.
            </summary>
            <value>
            <c>true</c> if this instance is an identity matrix; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the matrix component, depending on the index.</value>
            <param name="index">The zero-based index of the component to access.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 15].</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Matrix.Item(System.Int32,System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the matrix component, depending on the index.</value>
            <param name="row">The row of the matrix to access.</param>
            <param name="column">The column of the matrix to access.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="row"/> or <paramref name="column"/>is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Determinant">
            <summary>
            Calculates the determinant of the matrix.
            </summary>
            <returns>The determinant of the matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Invert">
            <summary>
            Inverts the matrix.
            If the matrix cannot be inverted (eg. Determinant was zero), then the matrix will be set equivalent to <see cref="F:Stride.Core.Mathematics.Matrix.Zero"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transpose">
            <summary>
            Transposes the matrix.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Orthogonalize">
            <summary>
            Orthogonalizes the specified matrix.
            </summary>
            <remarks>
            <para>Orthogonalization is the process of making all rows orthogonal to each other. This
            means that any given row in the matrix will be orthogonal to any other given row in the
            matrix.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting matrix
            tends to be numerically unstable. The numeric stability decreases according to the rows
            so that the first row is the most stable and the last row is the least stable.</para>
            <para>This operation is performed on the rows of the matrix rather than the columns.
            If you wish for this operation to be performed on the columns, first transpose the
            input and than transpose the output.</para>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Orthonormalize">
            <summary>
            Orthonormalizes the specified matrix.
            </summary>
            <remarks>
            <para>Orthonormalization is the process of making all rows and columns orthogonal to each
            other and making all rows and columns of unit length. This means that any given row will
            be orthogonal to any other given row and any given column will be orthogonal to any other
            given column. Any given row will not be orthogonal to any given column. Every row and every
            column will be of unit length.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting matrix
            tends to be numerically unstable. The numeric stability decreases according to the rows
            so that the first row is the most stable and the last row is the least stable.</para>
            <para>This operation is performed on the rows of the matrix rather than the columns.
            If you wish for this operation to be performed on the columns, first transpose the
            input and than transpose the output.</para>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.DecomposeQR(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Decomposes a matrix into an orthonormalized matrix Q and a right traingular matrix R.
            </summary>
            <param name="Q">When the method completes, contains the orthonormalized matrix of the decomposition.</param>
            <param name="R">When the method completes, contains the right triangular matrix of the decomposition.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.DecomposeLQ(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
            </summary>
            <param name="L">When the method completes, contains the lower triangular matrix of the decomposition.</param>
            <param name="Q">When the method completes, contains the orthonormalized matrix of the decomposition.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Decompose(System.Single@,System.Single@,System.Single@)">
            <summary>
            Decomposes a rotation matrix with the specified yaw, pitch, roll value (angles in radians).
            </summary>
            <param name="yaw">The yaw component in radians.</param>
            <param name="pitch">The pitch component in radians.</param>
            <param name="roll">The roll component in radians.</param>
            <remarks>
            This rotation matrix can be represented by <b>intrinsic</b> rotations in the order <paramref name="yaw"/>, <paramref name="pitch"/>, then <paramref name="roll"/>.
            <br/>
            Therefore the <b>extrinsic</b> rotations to achieve this matrix is the reversed order of operations,
            ie. Matrix.RotationZ(roll) * Matrix.RotationX(pitch) * Matrix.RotationY(yaw)
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.DecomposeXYZ(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Decomposes a rotation matrix with the specified X, Y and Z euler angles in radians.
            Matrix.RotationX(rotation.X) * Matrix.RotationY(rotation.Y) * Matrix.RotationZ(rotation.Z) should represent the same rotation.
            </summary>
            <param name="rotation">The vector containing the 3 rotations angles to be applied in order.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Decompose(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Decomposes a matrix into a scale, rotation, and translation.
            </summary>
            <param name="scale">When the method completes, contains the scaling component of the decomposed matrix.</param>
            <param name="translation">When the method completes, contains the translation component of the decomposed matrix.</param>
            <returns><c>true</c> if a rotation exist for this matrix, <c>false</c> otherwise.</returns>
            <remarks>This method is designed to decompose an SRT transformation matrix only.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Decompose(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Decomposes a matrix into a scale, rotation, and translation.
            </summary>
            <param name="scale">When the method completes, contains the scaling component of the decomposed matrix.</param>
            <param name="rotation">When the method completes, contains the rotation component of the decomposed matrix.</param>
            <param name="translation">When the method completes, contains the translation component of the decomposed matrix.</param>
            <remarks>
            This method is designed to decompose an SRT transformation matrix only.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Decompose(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Decomposes a matrix into a scale, rotation, and translation.
            </summary>
            <param name="scale">When the method completes, contains the scaling component of the decomposed matrix.</param>
            <param name="rotation">When the method completes, contains the rotation component of the decomposed matrix.</param>
            <param name="translation">When the method completes, contains the translation component of the decomposed matrix.</param>
            <remarks>
            This method is designed to decompose an SRT transformation matrix only.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ExchangeRows(System.Int32,System.Int32)">
            <summary>
            Exchanges two rows in the matrix.
            </summary>
            <param name="firstRow">The first row to exchange. This is an index of the row starting at zero.</param>
            <param name="secondRow">The second row to exchange. This is an index of the row starting at zero.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ExchangeColumns(System.Int32,System.Int32)">
            <summary>
            Exchange columns.
            </summary>
            <param name="firstColumn">The first column to exchange.</param>
            <param name="secondColumn">The second column to exchange.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ToArray">
            <summary>
            Creates an array containing the elements of the matrix.
            </summary>
            <returns>A sixteen-element array containing the components of the matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Add(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Determines the sum of two matrices.
            </summary>
            <param name="left">The first matrix to add.</param>
            <param name="right">The second matrix to add.</param>
            <param name="result">When the method completes, contains the sum of the two matrices.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Add(Stride.Core.Mathematics.Matrix,Stride.Core.Mathematics.Matrix)">
            <summary>
            Determines the sum of two matrices.
            </summary>
            <param name="left">The first matrix to add.</param>
            <param name="right">The second matrix to add.</param>
            <returns>The sum of the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Subtract(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Determines the difference between two matrices.
            </summary>
            <param name="left">The first matrix to subtract.</param>
            <param name="right">The second matrix to subtract.</param>
            <param name="result">When the method completes, contains the difference between the two matrices.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Subtract(Stride.Core.Mathematics.Matrix,Stride.Core.Mathematics.Matrix)">
            <summary>
            Determines the difference between two matrices.
            </summary>
            <param name="left">The first matrix to subtract.</param>
            <param name="right">The second matrix to subtract.</param>
            <returns>The difference between the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Multiply(Stride.Core.Mathematics.Matrix@,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Scales a matrix by the given value.
            </summary>
            <param name="left">The matrix to scale.</param>
            <param name="right">The amount by which to scale.</param>
            <param name="result">When the method completes, contains the scaled matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Multiply(Stride.Core.Mathematics.Matrix,System.Single)">
            <summary>
            Scales a matrix by the given value.
            </summary>
            <param name="left">The matrix to scale.</param>
            <param name="right">The amount by which to scale.</param>
            <returns>The scaled matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Multiply(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Determines the product of two matrices.
            Variables passed as <paramref name="left"/> or <paramref name="right"/> must not be used as the out parameter
            <paramref name="result"/>, because <paramref name="result"/> is calculated in-place.
            </summary>
            <param name="left">The first matrix to multiply.</param>
            <param name="right">The second matrix to multiply.</param>
            <param name="result">The product of the two matrices.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.MultiplyIn(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Determines the product of two matrices.
            Variables passed as <paramref name="left"/> or <paramref name="right"/> must not be used as the out parameter
            <paramref name="result"/>, because <paramref name="result"/> is calculated in-place.
            </summary>
            <param name="left">The first matrix to multiply.</param>
            <param name="right">The second matrix to multiply.</param>
            <param name="result">The product of the two matrices.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Multiply(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Determines the product of two matrices, equivalent to the '*' operator.
            </summary>
            <param name="left">The first matrix to multiply.</param>
            <param name="right">The second matrix to multiply.</param>
            <returns>The product of the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Divide(Stride.Core.Mathematics.Matrix@,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Scales a matrix by the given value.
            </summary>
            <param name="left">The matrix to scale.</param>
            <param name="right">The amount by which to scale.</param>
            <param name="result">When the method completes, contains the scaled matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Divide(Stride.Core.Mathematics.Matrix,System.Single)">
            <summary>
            Scales a matrix by the given value.
            </summary>
            <param name="left">The matrix to scale.</param>
            <param name="right">The amount by which to scale.</param>
            <returns>The scaled matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Divide(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Determines the quotient of two matrices.
            </summary>
            <param name="left">The first matrix to divide.</param>
            <param name="right">The second matrix to divide.</param>
            <param name="result">When the method completes, contains the quotient of the two matrices.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Divide(Stride.Core.Mathematics.Matrix,Stride.Core.Mathematics.Matrix)">
            <summary>
            Determines the quotient of two matrices.
            </summary>
            <param name="left">The first matrix to divide.</param>
            <param name="right">The second matrix to divide.</param>
            <returns>The quotient of the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Exponent(Stride.Core.Mathematics.Matrix@,System.Int32,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Performs the exponential operation on a matrix.
            </summary>
            <param name="value">The matrix to perform the operation on.</param>
            <param name="exponent">The exponent to raise the matrix to.</param>
            <param name="result">When the method completes, contains the exponential matrix.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="exponent"/> is negative.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Exponent(Stride.Core.Mathematics.Matrix,System.Int32)">
            <summary>
            Performs the exponential operation on a matrix.
            </summary>
            <param name="value">The matrix to perform the operation on.</param>
            <param name="exponent">The exponent to raise the matrix to.</param>
            <returns>The exponential matrix.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="exponent"/> is negative.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Negate(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Negates a matrix.
            </summary>
            <param name="value">The matrix to be negated.</param>
            <param name="result">When the method completes, contains the negated matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Negate(Stride.Core.Mathematics.Matrix)">
            <summary>
            Negates a matrix.
            </summary>
            <param name="value">The matrix to be negated.</param>
            <returns>The negated matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Lerp(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Performs a linear interpolation between two matrices.
            </summary>
            <param name="start">Start matrix.</param>
            <param name="end">End matrix.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two matrices.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Lerp(Stride.Core.Mathematics.Matrix,Stride.Core.Mathematics.Matrix,System.Single)">
            <summary>
            Performs a linear interpolation between two matrices.
            </summary>
            <param name="start">Start matrix.</param>
            <param name="end">End matrix.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two matrices.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.SmoothStep(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Performs a cubic interpolation between two matrices.
            </summary>
            <param name="start">Start matrix.</param>
            <param name="end">End matrix.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two matrices.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.SmoothStep(Stride.Core.Mathematics.Matrix,Stride.Core.Mathematics.Matrix,System.Single)">
            <summary>
            Performs a cubic interpolation between two matrices.
            </summary>
            <param name="start">Start matrix.</param>
            <param name="end">End matrix.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transpose(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Calculates the transpose of the specified matrix.
            </summary>
            <param name="value">The matrix whose transpose is to be calculated.</param>
            <param name="result">When the method completes, contains the transpose of the specified matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transpose(Stride.Core.Mathematics.Matrix@)">
            <summary>
            Calculates the transpose of the specified matrix.
            </summary>
            <param name="value">The matrix whose transpose is to be calculated.</param>
            <returns>The transpose of the specified matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Invert(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Calculates the inverse of the specified matrix.
            If the matrix cannot be inverted (eg. Determinant was zero), then <paramref name="result"/> will be <see cref="F:Stride.Core.Mathematics.Matrix.Zero"/>.
            </summary>
            <param name="value">The matrix whose inverse is to be calculated.</param>
            <param name="result">When the method completes, contains the inverse of the specified matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Invert(Stride.Core.Mathematics.Matrix)">
            <summary>
            Calculates the inverse of the specified matrix.
            If the matrix cannot be inverted (eg. Determinant was zero), then the returning matrix will be <see cref="F:Stride.Core.Mathematics.Matrix.Zero"/>.
            </summary>
            <param name="value">The matrix whose inverse is to be calculated.</param>
            <returns>The inverse of the specified matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Orthogonalize(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Orthogonalizes the specified matrix.
            </summary>
            <param name="value">The matrix to orthogonalize.</param>
            <param name="result">When the method completes, contains the orthogonalized matrix.</param>
            <remarks>
            <para>Orthogonalization is the process of making all rows orthogonal to each other. This
            means that any given row in the matrix will be orthogonal to any other given row in the
            matrix.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting matrix
            tends to be numerically unstable. The numeric stability decreases according to the rows
            so that the first row is the most stable and the last row is the least stable.</para>
            <para>This operation is performed on the rows of the matrix rather than the columns.
            If you wish for this operation to be performed on the columns, first transpose the
            input and than transpose the output.</para>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Orthogonalize(Stride.Core.Mathematics.Matrix)">
            <summary>
            Orthogonalizes the specified matrix.
            </summary>
            <param name="value">The matrix to orthogonalize.</param>
            <returns>The orthogonalized matrix.</returns>
            <remarks>
            <para>Orthogonalization is the process of making all rows orthogonal to each other. This
            means that any given row in the matrix will be orthogonal to any other given row in the
            matrix.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting matrix
            tends to be numerically unstable. The numeric stability decreases according to the rows
            so that the first row is the most stable and the last row is the least stable.</para>
            <para>This operation is performed on the rows of the matrix rather than the columns.
            If you wish for this operation to be performed on the columns, first transpose the
            input and than transpose the output.</para>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Orthonormalize(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Orthonormalizes the specified matrix.
            </summary>
            <param name="value">The matrix to orthonormalize.</param>
            <param name="result">When the method completes, contains the orthonormalized matrix.</param>
            <remarks>
            <para>Orthonormalization is the process of making all rows and columns orthogonal to each
            other and making all rows and columns of unit length. This means that any given row will
            be orthogonal to any other given row and any given column will be orthogonal to any other
            given column. Any given row will not be orthogonal to any given column. Every row and every
            column will be of unit length.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting matrix
            tends to be numerically unstable. The numeric stability decreases according to the rows
            so that the first row is the most stable and the last row is the least stable.</para>
            <para>This operation is performed on the rows of the matrix rather than the columns.
            If you wish for this operation to be performed on the columns, first transpose the
            input and than transpose the output.</para>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Orthonormalize(Stride.Core.Mathematics.Matrix)">
            <summary>
            Orthonormalizes the specified matrix.
            </summary>
            <param name="value">The matrix to orthonormalize.</param>
            <returns>The orthonormalized matrix.</returns>
            <remarks>
            <para>Orthonormalization is the process of making all rows and columns orthogonal to each
            other and making all rows and columns of unit length. This means that any given row will
            be orthogonal to any other given row and any given column will be orthogonal to any other
            given column. Any given row will not be orthogonal to any given column. Every row and every
            column will be of unit length.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting matrix
            tends to be numerically unstable. The numeric stability decreases according to the rows
            so that the first row is the most stable and the last row is the least stable.</para>
            <para>This operation is performed on the rows of the matrix rather than the columns.
            If you wish for this operation to be performed on the columns, first transpose the
            input and than transpose the output.</para>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.UpperTriangularForm(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Brings the matrix into upper triangular form using elementry row operations.
            </summary>
            <param name="value">The matrix to put into upper triangular form.</param>
            <param name="result">When the method completes, contains the upper triangular matrix.</param>
            <remarks>
            If the matrix is not invertable (i.e. its determinant is zero) than the result of this
            method may produce Single.Nan and Single.Inf values. When the matrix represents a system
            of linear equations, than this often means that either no solution exists or an infinite
            number of solutions exist.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.UpperTriangularForm(Stride.Core.Mathematics.Matrix)">
            <summary>
            Brings the matrix into upper triangular form using elementry row operations.
            </summary>
            <param name="value">The matrix to put into upper triangular form.</param>
            <returns>The upper triangular matrix.</returns>
            <remarks>
            If the matrix is not invertable (i.e. its determinant is zero) than the result of this
            method may produce Single.Nan and Single.Inf values. When the matrix represents a system
            of linear equations, than this often means that either no solution exists or an infinite
            number of solutions exist.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.LowerTriangularForm(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Brings the matrix into lower triangular form using elementry row operations.
            </summary>
            <param name="value">The matrix to put into lower triangular form.</param>
            <param name="result">When the method completes, contains the lower triangular matrix.</param>
            <remarks>
            If the matrix is not invertable (i.e. its determinant is zero) than the result of this
            method may produce Single.Nan and Single.Inf values. When the matrix represents a system
            of linear equations, than this often means that either no solution exists or an infinite
            number of solutions exist.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.LowerTriangularForm(Stride.Core.Mathematics.Matrix)">
            <summary>
            Brings the matrix into lower triangular form using elementry row operations.
            </summary>
            <param name="value">The matrix to put into lower triangular form.</param>
            <returns>The lower triangular matrix.</returns>
            <remarks>
            If the matrix is not invertable (i.e. its determinant is zero) than the result of this
            method may produce Single.Nan and Single.Inf values. When the matrix represents a system
            of linear equations, than this often means that either no solution exists or an infinite
            number of solutions exist.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RowEchelonForm(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Brings the matrix into row echelon form using elementry row operations;
            </summary>
            <param name="value">The matrix to put into row echelon form.</param>
            <param name="result">When the method completes, contains the row echelon form of the matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RowEchelonForm(Stride.Core.Mathematics.Matrix)">
            <summary>
            Brings the matrix into row echelon form using elementry row operations;
            </summary>
            <param name="value">The matrix to put into row echelon form.</param>
            <returns>When the method completes, contains the row echelon form of the matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ReducedRowEchelonForm(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Brings the matrix into reduced row echelon form using elementry row operations.
            </summary>
            <param name="value">The matrix to put into reduced row echelon form.</param>
            <param name="augment">The fifth column of the matrix.</param>
            <param name="result">When the method completes, contains the resultant matrix after the operation.</param>
            <param name="augmentResult">When the method completes, contains the resultant fifth column of the matrix.</param>
            <remarks>
            <para>The fifth column is often called the agumented part of the matrix. This is because the fifth
            column is really just an extension of the matrix so that there is a place to put all of the
            non-zero components after the operation is complete.</para>
            <para>Often times the resultant matrix will the identity matrix or a matrix similar to the identity
            matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.</para>
            <para>This method can be used to solve systems of linear equations. Upon completion of this method,
            the <paramref name="augmentResult"/> will contain the solution for the system. It is up to the user
            to analyze both the input and the result to determine if a solution really exists.</para>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Billboard(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a spherical billboard that rotates around a specified object position.
            </summary>
            <param name="objectPosition">The position of the object around which the billboard will rotate.</param>
            <param name="cameraPosition">The position of the camera.</param>
            <param name="cameraUpVector">The up vector of the camera.</param>
            <param name="cameraForwardVector">The forward vector of the camera.</param>
            <param name="result">When the method completes, contains the created billboard matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Billboard(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a spherical billboard that rotates around a specified object position.
            </summary>
            <param name="objectPosition">The position of the object around which the billboard will rotate.</param>
            <param name="cameraPosition">The position of the camera.</param>
            <param name="cameraUpVector">The up vector of the camera.</param>
            <param name="cameraForwardVector">The forward vector of the camera.</param>
            <returns>The created billboard matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.LookAtLH(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a left-handed, look-at matrix.
            </summary>
            <param name="eye">The position of the viewer's eye.</param>
            <param name="target">The camera look-at target.</param>
            <param name="up">The camera's up vector.</param>
            <param name="result">When the method completes, contains the created look-at matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.LookAtLH(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a left-handed, look-at matrix.
            </summary>
            <param name="eye">The position of the viewer's eye.</param>
            <param name="target">The camera look-at target.</param>
            <param name="up">The camera's up vector.</param>
            <returns>The created look-at matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.LookAtRH(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a right-handed, look-at matrix.
            </summary>
            <param name="eye">The position of the viewer's eye.</param>
            <param name="target">The camera look-at target.</param>
            <param name="up">The camera's up vector.</param>
            <param name="result">When the method completes, contains the created look-at matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.LookAtRH(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a right-handed, look-at matrix.
            </summary>
            <param name="eye">The position of the viewer's eye.</param>
            <param name="target">The camera look-at target.</param>
            <param name="up">The camera's up vector.</param>
            <returns>The created look-at matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoLH(System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a left-handed, orthographic projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoLH(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a left-handed, orthographic projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoRH(System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a right-handed, orthographic projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoRH(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a right-handed, orthographic projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoOffCenterLH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a left-handed, customized orthographic projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoOffCenterLH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a left-handed, customized orthographic projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoOffCenterRH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a right-handed, customized orthographic projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.OrthoOffCenterRH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a right-handed, customized orthographic projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveLH(System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a left-handed, perspective projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveLH(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a left-handed, perspective projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveRH(System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a right-handed, perspective projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveRH(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a right-handed, perspective projection matrix.
            </summary>
            <param name="width">Width of the viewing volume.</param>
            <param name="height">Height of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveFovLH(System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a left-handed, perspective projection matrix based on a field of view.
            </summary>
            <param name="fov">Field of view in the y direction, in radians.</param>
            <param name="aspect">Aspect ratio, defined as view space width divided by height.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveFovLH(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a left-handed, perspective projection matrix based on a field of view.
            </summary>
            <param name="fov">Field of view in the y direction, in radians.</param>
            <param name="aspect">Aspect ratio, defined as view space width divided by height.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveFovRH(System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a right-handed, perspective projection matrix based on a field of view.
            </summary>
            <param name="fov">Field of view in the y direction, in radians.</param>
            <param name="aspect">Aspect ratio, defined as view space width divided by height.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveFovRH(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a right-handed, perspective projection matrix based on a field of view.
            </summary>
            <param name="fov">Field of view in the y direction, in radians.</param>
            <param name="aspect">Aspect ratio, defined as view space width divided by height.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveOffCenterLH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a left-handed, customized perspective projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveOffCenterLH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a left-handed, customized perspective projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveOffCenterRH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a right-handed, customized perspective projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <param name="result">When the method completes, contains the created projection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.PerspectiveOffCenterRH(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a right-handed, customized perspective projection matrix.
            </summary>
            <param name="left">Minimum x-value of the viewing volume.</param>
            <param name="right">Maximum x-value of the viewing volume.</param>
            <param name="bottom">Minimum y-value of the viewing volume.</param>
            <param name="top">Maximum y-value of the viewing volume.</param>
            <param name="znear">Minimum z-value of the viewing volume.</param>
            <param name="zfar">Maximum z-value of the viewing volume.</param>
            <returns>The created projection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Reflection(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Builds a matrix that can be used to reflect vectors about a plane.
            </summary>
            <param name="plane">The plane for which the reflection occurs. This parameter is assumed to be normalized.</param>
            <param name="result">When the method completes, contains the reflection matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Reflection(Stride.Core.Mathematics.Plane)">
            <summary>
            Builds a matrix that can be used to reflect vectors about a plane.
            </summary>
            <param name="plane">The plane for which the reflection occurs. This parameter is assumed to be normalized.</param>
            <returns>The reflection matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Shadow(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that flattens geometry into a shadow.
            </summary>
            <param name="light">The light direction. If the W component is 0, the light is directional light; if the
            W component is 1, the light is a point light.</param>
            <param name="plane">The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.</param>
            <param name="result">When the method completes, contains the shadow matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Shadow(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Plane)">
            <summary>
            Creates a matrix that flattens geometry into a shadow.
            </summary>
            <param name="light">The light direction. If the W component is 0, the light is directional light; if the
            W component is 1, the light is a point light.</param>
            <param name="plane">The plane onto which to project the geometry as a shadow. This parameter is assumed to be normalized.</param>
            <returns>The shadow matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Scaling(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that scales along the x-axis, y-axis, and y-axis.
            </summary>
            <param name="scale">Scaling factor for all three axes.</param>
            <param name="result">When the method completes, contains the created scaling matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Scaling(Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a matrix that scales along the x-axis, y-axis, and y-axis.
            </summary>
            <param name="scale">Scaling factor for all three axes.</param>
            <returns>The created scaling matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Scaling(System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that scales along the x-axis, y-axis, and y-axis.
            </summary>
            <param name="x">Scaling factor that is applied along the x-axis.</param>
            <param name="y">Scaling factor that is applied along the y-axis.</param>
            <param name="z">Scaling factor that is applied along the z-axis.</param>
            <param name="result">When the method completes, contains the created scaling matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Scaling(System.Single,System.Single,System.Single)">
            <summary>
            Creates a matrix that scales along the x-axis, y-axis, and y-axis.
            </summary>
            <param name="x">Scaling factor that is applied along the x-axis.</param>
            <param name="y">Scaling factor that is applied along the y-axis.</param>
            <param name="z">Scaling factor that is applied along the z-axis.</param>
            <returns>The created scaling matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Scaling(System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that uniformally scales along all three axis.
            </summary>
            <param name="scale">The uniform scale that is applied along all axis.</param>
            <param name="result">When the method completes, contains the created scaling matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Scaling(System.Single)">
            <summary>
            Creates a matrix that uniformally scales along all three axis.
            </summary>
            <param name="scale">The uniform scale that is applied along all axis.</param>
            <returns>The created scaling matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationX(System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that rotates around the x-axis.
            </summary>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <param name="result">When the method completes, contains the created rotation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationX(System.Single)">
            <summary>
            Creates a matrix that rotates around the x-axis.
            </summary>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <returns>The created rotation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationY(System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that rotates around the y-axis.
            </summary>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <param name="result">When the method completes, contains the created rotation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationY(System.Single)">
            <summary>
            Creates a matrix that rotates around the y-axis.
            </summary>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <returns>The created rotation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationZ(System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that rotates around the z-axis.
            </summary>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <param name="result">When the method completes, contains the created rotation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationZ(System.Single)">
            <summary>
            Creates a matrix that rotates around the z-axis.
            </summary>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <returns>The created rotation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationAxis(Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that rotates around an arbitary axis.
            </summary>
            <param name="axis">The axis around which to rotate. This parameter is assumed to be normalized.</param>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <param name="result">When the method completes, contains the created rotation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationAxis(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Creates a matrix that rotates around an arbitary axis.
            </summary>
            <param name="axis">The axis around which to rotate. This parameter is assumed to be normalized.</param>
            <param name="angle">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <returns>The created rotation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationQuaternion(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a rotation matrix from a quaternion.
            </summary>
            <param name="rotation">The quaternion to use to build the matrix.</param>
            <param name="result">The created rotation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transformation(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a matrix that contains both the X, Y and Z rotation, as well as scaling and translation. Note: This function is NOT thead safe.
            </summary>
            <param name="scaling">The scaling.</param>
            <param name="rotation">Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.</param>
            <param name="translation">The translation.</param>
            <param name="result">When the method completes, contains the created rotation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationQuaternion(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Creates a rotation matrix from a quaternion.
            </summary>
            <param name="rotation">The quaternion to use to build the matrix.</param>
            <returns>The created rotation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationYawPitchRoll(System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a rotation matrix with a specified yaw, pitch, and roll value (angles in radians).
            </summary>
            <param name="yaw">Yaw around the y-axis, in radians.</param>
            <param name="pitch">Pitch around the x-axis, in radians.</param>
            <param name="roll">Roll around the z-axis, in radians.</param>
            <param name="result">When the method completes, contains the created rotation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.RotationYawPitchRoll(System.Single,System.Single,System.Single)">
            <summary>
            Creates a rotation matrix with a specified yaw, pitch, and roll value (angles in radians).
            </summary>
            <param name="yaw">Yaw around the y-axis, in radians.</param>
            <param name="pitch">Pitch around the x-axis, in radians.</param>
            <param name="roll">Roll around the z-axis, in radians.</param>
            <returns>The created rotation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Translation(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a translation matrix using the specified offsets.
            </summary>
            <param name="value">The offset for all three coordinate planes.</param>
            <param name="result">When the method completes, contains the created translation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Translation(Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a translation matrix using the specified offsets.
            </summary>
            <param name="value">The offset for all three coordinate planes.</param>
            <returns>The created translation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Translation(System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a translation matrix using the specified offsets.
            </summary>
            <param name="x">X-coordinate offset.</param>
            <param name="y">Y-coordinate offset.</param>
            <param name="z">Z-coordinate offset.</param>
            <param name="result">When the method completes, contains the created translation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Translation(System.Single,System.Single,System.Single)">
            <summary>
            Creates a translation matrix using the specified offsets.
            </summary>
            <param name="x">X-coordinate offset.</param>
            <param name="y">Y-coordinate offset.</param>
            <param name="z">Z-coordinate offset.</param>
            <returns>The created translation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation(System.Single,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a 3D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <param name="result">When the method completes, contains the created affine transformation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation(System.Single,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a 3D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <returns>The created affine transformation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation(System.Single,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a 3D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <param name="result">When the method completes, contains the created affine transformation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation(System.Single,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a 3D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <returns>The created affine transformation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation2D(System.Single,System.Single,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a 2D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <param name="result">When the method completes, contains the created affine transformation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation2D(System.Single,System.Single,Stride.Core.Mathematics.Vector2)">
            <summary>
            Creates a 2D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <returns>The created affine transformation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation2D(System.Single,Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a 2D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <param name="result">When the method completes, contains the created affine transformation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.AffineTransformation2D(System.Single,Stride.Core.Mathematics.Vector2,System.Single,Stride.Core.Mathematics.Vector2)">
            <summary>
            Creates a 2D affine transformation matrix.
            </summary>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <returns>The created affine transformation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transformation(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a transformation matrix.
            </summary>
            <param name="scalingCenter">Center point of the scaling operation.</param>
            <param name="scalingRotation">Scaling rotation amount.</param>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <param name="result">When the method completes, contains the created transformation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transformation(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Vector3)">
            <summary>
            Creates a transformation matrix.
            </summary>
            <param name="scalingCenter">Center point of the scaling operation.</param>
            <param name="scalingRotation">Scaling rotation amount.</param>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <returns>The created transformation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transformation2D(Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Creates a 2D transformation matrix.
            </summary>
            <param name="scalingCenter">Center point of the scaling operation.</param>
            <param name="scalingRotation">Scaling rotation amount.</param>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <param name="result">When the method completes, contains the created transformation matrix.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Transformation2D(Stride.Core.Mathematics.Vector2,System.Single,Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,System.Single,Stride.Core.Mathematics.Vector2)">
            <summary>
            Creates a 2D transformation matrix.
            </summary>
            <param name="scalingCenter">Center point of the scaling operation.</param>
            <param name="scalingRotation">Scaling rotation amount.</param>
            <param name="scaling">Scaling factor.</param>
            <param name="rotationCenter">The center of the rotation.</param>
            <param name="rotation">The rotation of the transformation.</param>
            <param name="translation">The translation factor of the transformation.</param>
            <returns>The created transformation matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.CopyMatrixFrom(System.Single*,System.Int32,System.Int32)">
            <summary>
            Copies a nxm matrix to this instance.
            </summary>
            <param name="src">The source matrix.</param>
            <param name="columns">The number of columns.</param>
            <param name="rows">The number of rows.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.TransposeMatrixFrom(System.Single*,System.Int32,System.Int32)">
            <summary>
            Transposes a nmx matrix to this instance.
            </summary>
            <param name="src">The SRC.</param>
            <param name="columns">The columns.</param>
            <param name="rows">The rows.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Addition(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Adds two matrices.
            </summary>
            <param name="left">The first matrix to add.</param>
            <param name="right">The second matrix to add.</param>
            <returns>The sum of the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_UnaryPlus(Stride.Core.Mathematics.Matrix@)">
            <summary>
            Assert a matrix (return it unchanged).
            </summary>
            <param name="value">The matrix to assert (unchange).</param>
            <returns>The asserted (unchanged) matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Subtraction(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Subtracts two matrices.
            </summary>
            <param name="left">The first matrix to subtract.</param>
            <param name="right">The second matrix to subtract.</param>
            <returns>The difference between the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_UnaryNegation(Stride.Core.Mathematics.Matrix@)">
            <summary>
            Negates a matrix.
            </summary>
            <param name="value">The matrix to negate.</param>
            <returns>The negated matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Multiply(System.Single,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Scales a matrix by a given value.
            </summary>
            <param name="right">The matrix to scale.</param>
            <param name="left">The amount by which to scale.</param>
            <returns>The scaled matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Multiply(Stride.Core.Mathematics.Matrix@,System.Single)">
            <summary>
            Scales a matrix by a given value.
            </summary>
            <param name="left">The matrix to scale.</param>
            <param name="right">The amount by which to scale.</param>
            <returns>The scaled matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Multiply(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Multiplies two matrices.
            </summary>
            <param name="left">The first matrix to multiply.</param>
            <param name="right">The second matrix to multiply.</param>
            <returns>The product of the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Division(Stride.Core.Mathematics.Matrix@,System.Single@)">
            <summary>
            Scales a matrix by a given value.
            </summary>
            <param name="left">The matrix to scale.</param>
            <param name="right">The amount by which to scale.</param>
            <returns>The scaled matrix.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Division(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Divides two matrices.
            </summary>
            <param name="left">The first matrix to divide.</param>
            <param name="right">The second matrix to divide.</param>
            <returns>The quotient of the two matrices.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Equality(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.op_Inequality(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Matrix@)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Equals(Stride.Core.Mathematics.Matrix)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Matrix"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Matrix"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Matrix"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Matrix.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Module">
            <summary>
            Module initializer.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Module.Initialize">
            <summary>
            Module initializer.
            </summary>
        </member>
        <member name="T:Stride.Core.Mathematics.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core.Mathematics"/> namespace contains types that allows to manipulate mathematical objects, such as vectors, points, quaternions, planes, etc.
            </summary>
        </member>
        <member name="T:Stride.Core.Mathematics.Plane">
            <summary>
            Represents a plane in three dimensional space.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Plane.Normal">
            <summary>
            The normal vector of the plane.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Plane.D">
            <summary>
            The distance of the plane along its normal from the origin.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Plane"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Plane"/> struct.
            </summary>
            <param name="a">The X component of the normal.</param>
            <param name="b">The Y component of the normal.</param>
            <param name="c">The Z component of the normal.</param>
            <param name="d">The distance of the plane along its normal from the origin.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.#ctor(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Plane"/> struct.
            </summary>
            <param name="point">Any point that lies along the plane.</param>
            <param name="normal">The normal vector to the plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.#ctor(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Plane"/> struct.
            </summary>
            <param name="value">The normal of the plane.</param>
            <param name="d">The distance of the plane along its normal from the origin</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.#ctor(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Plane"/> struct.
            </summary>
            <param name="point1">First point of a triangle defining the plane.</param>
            <param name="point2">Second point of a triangle defining the plane.</param>
            <param name="point3">Third point of a triangle defining the plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Plane"/> struct.
            </summary>
            <param name="values">The values to assign to the A, B, C, and D components of the plane. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Plane.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the A, B, C, or D component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the A component, 1 for the B component, 2 for the C component, and 3 for the D component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Negate">
            <summary>
            Negates a plane by negating all its coefficients, which result in a plane in opposite direction.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Normalize">
            <summary>
            Changes the coefficients of the normal vector of the plane to make it of unit length.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.ToArray">
            <summary>
            Creates an array containing the elements of the plane.
            </summary>
            <returns>A four-element array containing the components of the plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a point.
            </summary>
            <param name="point">The point to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.Ray@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.Ray@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.Plane@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Ray@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="line">When the method completes, contains the line of intersection
            as a <see cref="T:Stride.Core.Mathematics.Ray"/>, or a zero ray if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a triangle.
            </summary>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triagnle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Intersects(Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Multiply(Stride.Core.Mathematics.Plane@,System.Single,Stride.Core.Mathematics.Plane@)">
            <summary>
            Scales the plane by the given scaling factor.
            </summary>
            <param name="value">The plane to scale.</param>
            <param name="scale">The amount by which to scale the plane.</param>
            <param name="result">When the method completes, contains the scaled plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Multiply(Stride.Core.Mathematics.Plane,System.Single)">
            <summary>
            Scales the plane by the given scaling factor.
            </summary>
            <param name="value">The plane to scale.</param>
            <param name="scale">The amount by which to scale the plane.</param>
            <returns>The scaled plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Dot(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector4@,System.Single@)">
            <summary>
            Calculates the dot product of the specified vector and plane.
            </summary>
            <param name="left">The source plane.</param>
            <param name="right">The source vector.</param>
            <param name="result">When the method completes, contains the dot product of the specified plane and vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Dot(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Vector4)">
            <summary>
            Calculates the dot product of the specified vector and plane.
            </summary>
            <param name="left">The source plane.</param>
            <param name="right">The source vector.</param>
            <returns>The dot product of the specified plane and vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.DotCoordinate(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@,System.Single@)">
            <summary>
            Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
            </summary>
            <param name="left">The source plane.</param>
            <param name="right">The source vector.</param>
            <param name="result">When the method completes, contains the dot product of a specified vector and the normal of the Plane plus the distance value of the plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.DotCoordinate(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Vector3)">
            <summary>
            Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane.
            </summary>
            <param name="left">The source plane.</param>
            <param name="right">The source vector.</param>
            <returns>The dot product of a specified vector and the normal of the Plane plus the distance value of the plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.DotNormal(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@,System.Single@)">
            <summary>
            Calculates the dot product of the specified vector and the normal of the plane.
            </summary>
            <param name="left">The source plane.</param>
            <param name="right">The source vector.</param>
            <param name="result">When the method completes, contains the dot product of the specified vector and the normal of the plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.DotNormal(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Vector3)">
            <summary>
            Calculates the dot product of the specified vector and the normal of the plane.
            </summary>
            <param name="left">The source plane.</param>
            <param name="right">The source vector.</param>
            <returns>The dot product of the specified vector and the normal of the plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Project(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Projects a point onto a plane.
            </summary>
            <param name="plane">The plane to project the point to.</param>
            <param name="point">The point to project.</param>
            <param name="result">The projected point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Project(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Vector3)">
            <summary>
            Projects a point onto a plane.
            </summary>
            <param name="plane">The plane to project the point to.</param>
            <param name="point">The point to project.</param>
            <returns>The projected point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Normalize(System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Plane@)">
            <summary>
            Creates a plane of unit length.
            </summary>
            <param name="normalX">The X component of the normal.</param>
            <param name="normalY">The Y component of the normal.</param>
            <param name="normalZ">The Z component of the normal.</param>
            <param name="planeD">The distance of the plane along its normal from the origin.</param>
            <param name="result">When the method completes, contains the normalized plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Normalize(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Plane@)">
            <summary>
            Changes the coefficients of the normal vector of the plane to make it of unit length.
            </summary>
            <param name="plane">The source plane.</param>
            <param name="result">When the method completes, contains the normalized plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Normalize(Stride.Core.Mathematics.Plane)">
            <summary>
            Changes the coefficients of the normal vector of the plane to make it of unit length.
            </summary>
            <param name="plane">The source plane.</param>
            <returns>The normalized plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Negate(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Plane@)">
            <summary>
            Negates a plane by negating all its coefficients, which result in a plane in opposite direction.
            </summary>
            <param name="plane">The source plane.</param>
            <param name="result">When the method completes, contains the flipped plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Negate(Stride.Core.Mathematics.Plane)">
            <summary>
            Negates a plane by negating all its coefficients, which result in a plane in opposite direction.
            </summary>
            <param name="plane">The source plane.</param>
            <returns>The flipped plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Transform(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Plane@)">
            <summary>
            Transforms a normalized plane by a quaternion rotation.
            </summary>
            <param name="plane">The normalized source plane.</param>
            <param name="rotation">The quaternion rotation.</param>
            <param name="result">When the method completes, contains the transformed plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Transform(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Transforms a normalized plane by a quaternion rotation.
            </summary>
            <param name="plane">The normalized source plane.</param>
            <param name="rotation">The quaternion rotation.</param>
            <returns>The transformed plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Transform(Stride.Core.Mathematics.Plane[],Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Transforms an array of normalized planes by a quaternion rotation.
            </summary>
            <param name="planes">The array of normalized planes to transform.</param>
            <param name="rotation">The quaternion rotation.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="planes"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Transform(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Plane@)">
            <summary>
            Transforms a normalized plane by a matrix.
            </summary>
            <param name="plane">The normalized source plane.</param>
            <param name="transformation">The transformation matrix.</param>
            <param name="result">When the method completes, contains the transformed plane.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Transform(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Matrix)">
            <summary>
            Transforms a normalized plane by a matrix.
            </summary>
            <param name="plane">The normalized source plane.</param>
            <param name="transformation">The transformation matrix.</param>
            <returns>When the method completes, contains the transformed plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Transform(Stride.Core.Mathematics.Plane[],Stride.Core.Mathematics.Matrix@)">
            <summary>
            Transforms an array of normalized planes by a matrix.
            </summary>
            <param name="planes">The array of normalized planes to transform.</param>
            <param name="transformation">The transformation matrix.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="planes"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.op_Multiply(System.Single,Stride.Core.Mathematics.Plane)">
            <summary>
            Scales a plane by the given value.
            </summary>
            <param name="scale">The amount by which to scale the plane.</param>
            <param name="plane">The plane to scale.</param>
            <returns>The scaled plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.op_Multiply(Stride.Core.Mathematics.Plane,System.Single)">
            <summary>
            Scales a plane by the given value.
            </summary>
            <param name="plane">The plane to scale.</param>
            <param name="scale">The amount by which to scale the plane.</param>
            <returns>The scaled plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.op_UnaryNegation(Stride.Core.Mathematics.Plane)">
            <summary>
            Negates a plane by negating all its coefficients, which result in a plane in opposite direction.
            </summary>
            <returns>The negated plane.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.op_Equality(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Plane)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.op_Inequality(Stride.Core.Mathematics.Plane,Stride.Core.Mathematics.Plane)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Equals(Stride.Core.Mathematics.Plane)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:Stride.Core.Mathematics.Vector4"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Plane.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Stride.Core.Mathematics.PlaneIntersectionType">
            <summary>
            Describes the result of an intersection with a plane in three dimensions.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.PlaneIntersectionType.Back">
            <summary>
            The object is behind the plane.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.PlaneIntersectionType.Front">
            <summary>
            The object is in front of the plane.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.PlaneIntersectionType.Intersecting">
            <summary>
            The object is intersecting the plane.
            </summary>
        </member>
        <member name="T:Stride.Core.Mathematics.Point">
            <summary>
            A 2D point.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Point.Zero">
            <summary>
            A point with (0,0) coordinates.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Point"/> struct.
            </summary>
            <param name="x">The x.</param>
            <param name="y">The y.</param>
        </member>
        <member name="F:Stride.Core.Mathematics.Point.X">
            <summary>
            Left coordinate.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Point.Y">
            <summary>
            Top coordinate.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.Equals(Stride.Core.Mathematics.Point)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.op_Equality(Stride.Core.Mathematics.Point,Stride.Core.Mathematics.Point)">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.op_Inequality(Stride.Core.Mathematics.Point,Stride.Core.Mathematics.Point)">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.ToString">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.op_Explicit(Stride.Core.Mathematics.Vector2)~Stride.Core.Mathematics.Point">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.Vector2"/> to <see cref="T:Stride.Core.Mathematics.Point"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.op_Implicit(Stride.Core.Mathematics.Point)~Stride.Core.Mathematics.Vector2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Point"/> to <see cref="T:Stride.Core.Mathematics.Vector2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Point.Deconstruct(System.Int32@,System.Int32@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Quaternion">
            <summary>
            Represents a four dimensional mathematical quaternion.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Quaternion"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Quaternion"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Quaternion"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.Identity">
            <summary>
            The identity <see cref="T:Stride.Core.Mathematics.Quaternion"/> (0, 0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.X">
            <summary>
            The X component of the quaternion.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.Y">
            <summary>
            The Y component of the quaternion.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.Z">
            <summary>
            The Z component of the quaternion.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Quaternion.W">
            <summary>
            The W component of the quaternion.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Quaternion"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.#ctor(Stride.Core.Mathematics.Vector4)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Quaternion"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.#ctor(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Quaternion"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X, Y, and Z components.</param>
            <param name="w">Initial value for the W component of the quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.#ctor(Stride.Core.Mathematics.Vector2,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Quaternion"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X and Y components.</param>
            <param name="z">Initial value for the Z component of the quaternion.</param>
            <param name="w">Initial value for the W component of the quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Quaternion"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the quaternion.</param>
            <param name="y">Initial value for the Y component of the quaternion.</param>
            <param name="z">Initial value for the Z component of the quaternion.</param>
            <param name="w">Initial value for the W component of the quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Quaternion"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Quaternion.IsIdentity">
            <summary>
            Gets a value indicating whether this instance is equivalent to the identity quaternion.
            </summary>
            <value>
            <c>true</c> if this instance is an identity quaternion; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.Quaternion.IsNormalized">
            <summary>
            Gets a value indicting whether this instance is normalized.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Quaternion.Angle">
            <summary>
            Gets the angle of the quaternion.
            </summary>
            <value>The quaternion's angle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Quaternion.Axis">
            <summary>
            Gets the axis components of the quaternion.
            </summary>
            <value>The axis components of the quaternion.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Quaternion.YawPitchRoll">
            <summary>
            Gets yaw/pitch/roll equivalent of the quaternion
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Quaternion.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, Z, or W component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Conjugate">
            <summary>
            Conjugates the quaternion.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Invert">
            <summary>
            Conjugates and renormalizes the quaternion.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Length">
            <summary>
            Calculates the length of the quaternion.
            </summary>
            <returns>The length of the quaternion.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Quaternion.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.LengthSquared">
            <summary>
            Calculates the squared length of the quaternion.
            </summary>
            <returns>The squared length of the quaternion.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Quaternion.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Normalize">
            <summary>
            Converts the quaternion into a unit quaternion.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.ToArray">
            <summary>
            Creates an array containing the elements of the quaternion.
            </summary>
            <returns>A four-element array containing the components of the quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Add(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Adds two quaternions.
            </summary>
            <param name="left">The first quaternion to add.</param>
            <param name="right">The second quaternion to add.</param>
            <param name="result">When the method completes, contains the sum of the two quaternions.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Add(Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Adds two quaternions.
            </summary>
            <param name="left">The first quaternion to add.</param>
            <param name="right">The second quaternion to add.</param>
            <returns>The sum of the two quaternions.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Subtract(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Subtracts two quaternions.
            </summary>
            <param name="left">The first quaternion to subtract.</param>
            <param name="right">The second quaternion to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two quaternions.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Subtract(Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Subtracts two quaternions.
            </summary>
            <param name="left">The first quaternion to subtract.</param>
            <param name="right">The second quaternion to subtract.</param>
            <returns>The difference of the two quaternions.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Multiply(Stride.Core.Mathematics.Quaternion@,System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Scales a quaternion by the given value.
            </summary>
            <param name="value">The quaternion to scale.</param>
            <param name="scale">The amount by which to scale the quaternion.</param>
            <param name="result">When the method completes, contains the scaled quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Multiply(Stride.Core.Mathematics.Quaternion,System.Single)">
            <summary>
            Scales a quaternion by the given value.
            </summary>
            <param name="value">The quaternion to scale.</param>
            <param name="scale">The amount by which to scale the quaternion.</param>
            <returns>The scaled quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Multiply(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Modulates a quaternion by another.
            </summary>
            <param name="left">The first quaternion to modulate.</param>
            <param name="right">The second quaternion to modulate.</param>
            <param name="result">When the moethod completes, contains the modulated quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Multiply(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Modulates a quaternion by another.
            </summary>
            <param name="left">The first quaternion to modulate.</param>
            <param name="right">The second quaternion to modulate.</param>
            <returns>The modulated quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Negate(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Reverses the direction of a given quaternion.
            </summary>
            <param name="value">The quaternion to negate.</param>
            <param name="result">When the method completes, contains a quaternion facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Negate(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Reverses the direction of a given quaternion.
            </summary>
            <param name="value">The quaternion to negate.</param>
            <returns>A quaternion facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Barycentric(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,System.Single,System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <param name="result">When the method completes, contains a new <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Barycentric(Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,System.Single,System.Single)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <returns>A new <see cref="T:Stride.Core.Mathematics.Quaternion"/> containing the 4D Cartesian coordinates of the specified point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Conjugate(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Conjugates a quaternion.
            </summary>
            <param name="value">The quaternion to conjugate.</param>
            <param name="result">When the method completes, contains the conjugated quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Conjugate(Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Conjugates a quaternion.
            </summary>
            <param name="value">The quaternion to conjugate.</param>
            <returns>The conjugated quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Dot(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,System.Single@)">
            <summary>
            Calculates the dot product of two quaternions.
            </summary>
            <param name="left">First source quaternion.</param>
            <param name="right">Second source quaternion.</param>
            <param name="result">When the method completes, contains the dot product of the two quaternions.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Dot(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Calculates the dot product of two quaternions.
            </summary>
            <param name="left">First source quaternion.</param>
            <param name="right">Second source quaternion.</param>
            <returns>The dot product of the two quaternions.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.AngleBetween(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Returns the absolute angle in radians between <paramref name="a"/> and <paramref name="b"/>
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Exponential(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Exponentiates a quaternion.
            </summary>
            <param name="value">The quaternion to exponentiate.</param>
            <param name="result">When the method completes, contains the exponentiated quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Exponential(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Exponentiates a quaternion.
            </summary>
            <param name="value">The quaternion to exponentiate.</param>
            <returns>The exponentiated quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Invert(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Conjugates and renormalizes the quaternion.
            </summary>
            <param name="value">The quaternion to conjugate and renormalize.</param>
            <param name="result">When the method completes, contains the conjugated and renormalized quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Invert(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Conjugates and renormalizes the quaternion.
            </summary>
            <param name="value">The quaternion to conjugate and renormalize.</param>
            <returns>The conjugated and renormalized quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Lerp(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Performs a linear interpolation between two quaternions.
            </summary>
            <param name="start">Start quaternion.</param>
            <param name="end">End quaternion.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two quaternions.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Lerp(Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,System.Single)">
            <summary>
            Performs a linear interpolation between two quaternion.
            </summary>
            <param name="start">Start quaternion.</param>
            <param name="end">End quaternion.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two quaternions.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.LookRotation(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Returns a rotation whose facing direction points towards <paramref name="forward"/>
            and whose up direction points as close as possible to <paramref name="up"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Logarithm(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Calculates the natural logarithm of the specified quaternion.
            </summary>
            <param name="value">The quaternion whose logarithm will be calculated.</param>
            <param name="result">When the method completes, contains the natural logarithm of the quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Logarithm(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Calculates the natural logarithm of the specified quaternion.
            </summary>
            <param name="value">The quaternion whose logarithm will be calculated.</param>
            <returns>The natural logarithm of the quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Normalize(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Converts the quaternion into a unit quaternion.
            </summary>
            <param name="value">The quaternion to normalize.</param>
            <param name="result">When the method completes, contains the normalized quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Normalize(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Converts the quaternion into a unit quaternion.
            </summary>
            <param name="value">The quaternion to normalize.</param>
            <returns>The normalized quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Rotate(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Rotates a Vector3 by the specified quaternion rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationAxis(Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Creates a quaternion given a rotation and an axis.
            </summary>
            <param name="axis">The axis of rotation.</param>
            <param name="angle">The angle of rotation.</param>
            <param name="result">When the method completes, contains the newly created quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationAxis(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Creates a quaternion given a rotation and an axis.
            </summary>
            <param name="axis">The axis of rotation.</param>
            <param name="angle">The angle of rotation.</param>
            <returns>The newly created quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationMatrix(Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Creates a quaternion given a rotation matrix.
            </summary>
            <param name="matrix">The rotation matrix.</param>
            <param name="result">When the method completes, contains the newly created quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationMatrix(Stride.Core.Mathematics.Matrix)">
            <summary>
            Creates a quaternion given a rotation matrix.
            </summary>
            <param name="matrix">The rotation matrix.</param>
            <returns>The newly created quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationX(System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Creates a quaternion that rotates around the x-axis.
            </summary>
            <param name="angle">Angle of rotation in radians.</param>
            <param name="result">When the method completes, contains the newly created quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationX(System.Single)">
            <summary>
            Creates a quaternion that rotates around the x-axis.
            </summary>
            <param name="angle">Angle of rotation in radians.</param>
            <returns>The created rotation quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationY(System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Creates a quaternion that rotates around the y-axis.
            </summary>
            <param name="angle">Angle of rotation in radians.</param>
            <param name="result">When the method completes, contains the newly created quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationY(System.Single)">
            <summary>
            Creates a quaternion that rotates around the y-axis.
            </summary>
            <param name="angle">Angle of rotation in radians.</param>
            <returns>The created rotation quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationZ(System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Creates a quaternion that rotates around the z-axis.
            </summary>
            <param name="angle">Angle of rotation in radians.</param>
            <param name="result">When the method completes, contains the newly created quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationZ(System.Single)">
            <summary>
            Creates a quaternion that rotates around the z-axis.
            </summary>
            <param name="angle">Angle of rotation in radians.</param>
            <returns>The created rotation quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationYawPitchRoll(Stride.Core.Mathematics.Quaternion@,System.Single@,System.Single@,System.Single@)">
            <summary>
            Calculate the yaw/pitch/roll rotation equivalent to the provided quaternion.
            </summary>
            <param name="rotation">The input quaternion</param>
            <param name="yaw">The yaw component in radians.</param>
            <param name="pitch">The pitch component in radians.</param>
            <param name="roll">The roll component in radians.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationYawPitchRoll(System.Single,System.Single,System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Creates a quaternion given a yaw, pitch, and roll value (angles in radians).
            </summary>
            <param name="yaw">The yaw of rotation in radians.</param>
            <param name="pitch">The pitch of rotation in radians.</param>
            <param name="roll">The roll of rotation in radians.</param>
            <param name="result">When the method completes, contains the newly created quaternion.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotationYawPitchRoll(System.Single,System.Single,System.Single)">
            <summary>
            Creates a quaternion given a yaw, pitch, and roll value (angles in radians).
            </summary>
            <param name="yaw">The yaw of rotation in radians.</param>
            <param name="pitch">The pitch of rotation in radians.</param>
            <param name="roll">The roll of rotation in radians.</param>
            <returns>The newly created quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.BetweenDirections(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Computes a quaternion corresponding to the rotation transforming the vector <paramref name="source"/> to the vector <paramref name="target"/>.
            </summary>
            <param name="source">The source vector of the transformation.</param>
            <param name="target">The target vector of the transformation.</param>
            <returns>The resulting quaternion corresponding to the transformation of the source vector to the target vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.BetweenDirections(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Computes a quaternion corresponding to the rotation transforming the vector <paramref name="source"/> to the vector <paramref name="target"/>.
            </summary>
            <param name="source">The source vector of the transformation.</param>
            <param name="target">The target vector of the transformation.</param>
            <param name="result">The resulting quaternion corresponding to the transformation of the source vector to the target vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Slerp(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Interpolates between two quaternions, using spherical linear interpolation.
            </summary>
            <param name="start">Start quaternion.</param>
            <param name="end">End quaternion.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the spherical linear interpolation of the two quaternions.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Slerp(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,System.Single)">
            <summary>
            Interpolates between two quaternions, using spherical linear interpolation.
            </summary>
            <param name="start">Start quaternion.</param>
            <param name="end">End quaternion.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The spherical linear interpolation of the two quaternions.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.RotateTowards(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,System.Single)">
            <summary>
            Rotate <paramref name="current"/> towards <paramref name="target"/> by <paramref name="angle"/>.
            </summary>
            <remarks>
            When the angle difference between <paramref name="current"/> and <paramref name="target"/> is less than
            the given <paramref name="angle"/>, returns <paramref name="target"/> instead of overshooting past it.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Squad(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@,System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Interpolates between quaternions, using spherical quadrangle interpolation.
            </summary>
            <param name="value1">First source quaternion.</param>
            <param name="value2">Second source quaternion.</param>
            <param name="value3">Thrid source quaternion.</param>
            <param name="value4">Fourth source quaternion.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of interpolation.</param>
            <param name="result">When the method completes, contains the spherical quadrangle interpolation of the quaternions.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Squad(Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,System.Single)">
            <summary>
            Interpolates between quaternions, using spherical quadrangle interpolation.
            </summary>
            <param name="value1">First source quaternion.</param>
            <param name="value2">Second source quaternion.</param>
            <param name="value3">Thrid source quaternion.</param>
            <param name="value4">Fourth source quaternion.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of interpolation.</param>
            <returns>The spherical quadrangle interpolation of the quaternions.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.SquadSetup(Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Sets up control points for spherical quadrangle interpolation.
            </summary>
            <param name="value1">First source quaternion.</param>
            <param name="value2">Second source quaternion.</param>
            <param name="value3">Third source quaternion.</param>
            <param name="value4">Fourth source quaternion.</param>
            <returns>An array of three quaternions that represent control points for spherical quadrangle interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Addition(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Adds two quaternions.
            </summary>
            <param name="left">The first quaternion to add.</param>
            <param name="right">The second quaternion to add.</param>
            <returns>The sum of the two quaternions.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Subtraction(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Subtracts two quaternions.
            </summary>
            <param name="left">The first quaternion to subtract.</param>
            <param name="right">The second quaternion to subtract.</param>
            <returns>The difference of the two quaternions.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_UnaryNegation(Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Reverses the direction of a given quaternion.
            </summary>
            <param name="value">The quaternion to negate.</param>
            <returns>A quaternion facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Multiply(System.Single,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Scales a quaternion by the given value.
            </summary>
            <param name="value">The quaternion to scale.</param>
            <param name="scale">The amount by which to scale the quaternion.</param>
            <returns>The scaled quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Multiply(Stride.Core.Mathematics.Quaternion@,System.Single)">
            <summary>
            Scales a quaternion by the given value.
            </summary>
            <param name="value">The quaternion to scale.</param>
            <param name="scale">The amount by which to scale the quaternion.</param>
            <returns>The scaled quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Multiply(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Multiplies a quaternion by another.
            </summary>
            <param name="left">The first quaternion to multiply.</param>
            <param name="right">The second quaternion to multiply.</param>
            <returns>The multiplied quaternion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Multiply(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Return the vector rotated by the quaternion.
            </summary>
            <remarks>
            Shorthand for <see cref="M:Stride.Core.Mathematics.Quaternion.Rotate(Stride.Core.Mathematics.Vector3@)"/>
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Equality(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.op_Inequality(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Quaternion@)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Equals(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Quaternion"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Quaternion"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Quaternion.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Stride.Core.Mathematics.RandomSeed">
            <summary>
            The <see cref="T:Stride.Core.Mathematics.RandomSeed"/> is a structure for deterministically acquiring random values.
            One <see cref="T:Stride.Core.Mathematics.RandomSeed"/> should be able to reproduce the same pseudo-random value for a fixed offset, but
            provide enough random distribution for different offsets or different random seeds
            Although other methods exist, the current implementation can easily be replicated in the shaders if required
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.RandomSeed.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.RandomSeed"/> struct from a target uint.
            </summary>
            <param name="seed">The seed value to initialize the deterministic random generator.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RandomSeed.GetDouble(System.UInt32)">
            <summary>
            Get a deterministic double value between 0 and 1 based on the seed
            </summary>
            <returns>Deterministic pseudo-random value between 0 and 1</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RandomSeed.GetFloat(System.UInt32)">
            <summary>
            Get a deterministic float value between 0 and 1 based on the seed
            The calculations are still made as doubles to prevent underflow errors.
            </summary>
            <returns>Deterministic pseudo-random value between 0 and 1</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Ray">
            <summary>
            Represents a three dimensional line based on a point in space and a direction.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Ray.Position">
            <summary>
            The position in three dimensional space where the ray starts.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Ray.Direction">
            <summary>
            The normalized direction in which the ray points.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.#ctor(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Ray"/> struct.
            </summary>
            <param name="position">The position in three dimensional space of the origin of the ray.</param>
            <param name="direction">The normalized direction of the ray.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a point.
            </summary>
            <param name="point">The point to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Ray@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Ray@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Ray"/>.
            </summary>
            <param name="ray">The ray to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Plane@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Plane@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Plane@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.Plane"/>.
            </summary>
            <param name="plane">The plane to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a triangle.
            </summary>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triangle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a triangle.
            </summary>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triangle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a triangle.
            </summary>
            <param name="vertex1">The first vertex of the triangle to test.</param>
            <param name="vertex2">The second vertex of the triangle to test.</param>
            <param name="vertex3">The third vertex of the triangle to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.BoundingBox@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.BoundingBox@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.BoundingBox@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingBox"/>.
            </summary>
            <param name="box">The box to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.BoundingSphere@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.BoundingSphere@,System.Single@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <param name="distance">When the method completes, contains the distance of the intersection,
            or 0 if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Intersects(Stride.Core.Mathematics.BoundingSphere@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Determines if there is an intersection between the current object and a <see cref="T:Stride.Core.Mathematics.BoundingSphere"/>.
            </summary>
            <param name="sphere">The sphere to test.</param>
            <param name="point">When the method completes, contains the point of intersection,
            or <see cref="F:Stride.Core.Mathematics.Vector3.Zero"/> if there was no intersection.</param>
            <returns>Whether the two objects intersected.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.op_Equality(Stride.Core.Mathematics.Ray,Stride.Core.Mathematics.Ray)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.op_Inequality(Stride.Core.Mathematics.Ray,Stride.Core.Mathematics.Ray)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Equals(Stride.Core.Mathematics.Ray)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:Stride.Core.Mathematics.Vector4"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Ray.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Stride.Core.Mathematics.Rectangle">
            <summary>
            A rectangle structure defining X,Y,Width,Height.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Rectangle.Empty">
            <summary>
            An empty rectangle.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Rectangle"/> struct.
            </summary>
            <param name="x">The left.</param>
            <param name="y">The top.</param>
            <param name="width">The width.</param>
            <param name="height">The height.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.Left">
            <summary>
            Gets or sets the left.
            </summary>
            <value>The left.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.Top">
            <summary>
            Gets or sets the top.
            </summary>
            <value>The top.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.Right">
            <summary>
            Gets or sets the right.
            </summary>
            <value>The right.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.Bottom">
            <summary>
            Gets or sets the bottom.
            </summary>
            <value>The bottom.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Rectangle.X">
            <summary>
            Gets or sets the X position.
            </summary>
            <value>The X position.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Rectangle.Y">
            <summary>
            Gets or sets the Y position.
            </summary>
            <value>The Y position.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Rectangle.Width">
            <summary>
            Gets or sets the width.
            </summary>
            <value>The width.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.Rectangle.Height">
            <summary>
            Gets or sets the height.
            </summary>
            <value>The height.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.Location">
            <summary>
            Gets or sets the location.
            </summary>
            <value>
            The location.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.Center">
            <summary>
            Gets the Point that specifies the center of the rectangle.
            </summary>
            <value>
            The center.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.IsEmpty">
            <summary>
            Gets a value that indicates whether the rectangle is empty.
            </summary>
            <value>
              <c>true</c> if [is empty]; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.Size">
            <summary>
            Gets or sets the size of the rectangle.
            </summary>
            <value>The size of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.TopLeft">
            <summary>
            Gets the position of the top-left corner of the rectangle.
            </summary>
            <value>The top-left corner of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.TopRight">
            <summary>
            Gets the position of the top-right corner of the rectangle.
            </summary>
            <value>The top-right corner of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.BottomLeft">
            <summary>
            Gets the position of the bottom-left corner of the rectangle.
            </summary>
            <value>The bottom-left corner of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.Rectangle.BottomRight">
            <summary>
            Gets the position of the bottom-right corner of the rectangle.
            </summary>
            <value>The bottom-right corner of the rectangle.</value>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Offset(Stride.Core.Mathematics.Point)">
            <summary>Changes the position of the rectangle.</summary>
            <param name="amount">The values to adjust the position of the rectangle by.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Offset(System.Int32,System.Int32)">
            <summary>Changes the position of the rectangle.</summary>
            <param name="offsetX">Change in the x-position.</param>
            <param name="offsetY">Change in the y-position.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Inflate(System.Int32,System.Int32)">
            <summary>Pushes the edges of the rectangle out by the horizontal and vertical values specified.</summary>
            <param name="horizontalAmount">Value to push the sides out by.</param>
            <param name="verticalAmount">Value to push the top and bottom out by.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(System.Int32,System.Int32)">
            <summary>Determines whether this rectangle contains a specified point represented by its x- and y-coordinates.</summary>
            <param name="x">The x-coordinate of the specified point.</param>
            <param name="y">The y-coordinate of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(Stride.Core.Mathematics.Point)">
            <summary>Determines whether this rectangle contains a specified Point.</summary>
            <param name="value">The Point to evaluate.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(Stride.Core.Mathematics.Point@,System.Boolean@)">
            <summary>Determines whether this rectangle contains a specified Point.</summary>
            <param name="value">The Point to evaluate.</param>
            <param name="result">[OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(Stride.Core.Mathematics.Rectangle)">
            <summary>Determines whether this rectangle entirely contains a specified rectangle.</summary>
            <param name="value">The rectangle to evaluate.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(Stride.Core.Mathematics.Rectangle@,System.Boolean@)">
            <summary>Determines whether this rectangle entirely contains a specified rectangle.</summary>
            <param name="value">The rectangle to evaluate.</param>
            <param name="result">[OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(System.Single,System.Single)">
            <summary>
            Checks, if specified point is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>.
            </summary>
            <param name="x">X point coordinate.</param>
            <param name="y">Y point coordinate.</param>
            <returns><c>true</c> if point is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(Stride.Core.Mathematics.Vector2)">
            <summary>
            Checks, if specified <see cref="T:Stride.Core.Mathematics.Vector2"/> is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>.
            </summary>
            <param name="vector2D">Coordinate <see cref="T:Stride.Core.Mathematics.Vector2"/>.</param>
            <returns><c>true</c> if <see cref="T:Stride.Core.Mathematics.Vector2"/> is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Contains(Stride.Core.Mathematics.Int2)">
            <summary>
            Checks, if specified <see cref="T:Stride.Core.Mathematics.Int2"/> is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>.
            </summary>
            <param name="int2">Coordinate <see cref="T:Stride.Core.Mathematics.Int2"/>.</param>
            <returns><c>true</c> if <see cref="T:Stride.Core.Mathematics.Int2"/> is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Intersects(Stride.Core.Mathematics.Rectangle)">
            <summary>Determines whether a specified rectangle intersects with this rectangle.</summary>
            <param name="value">The rectangle to evaluate.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Intersects(Stride.Core.Mathematics.Rectangle@,System.Boolean@)">
            <summary>
            Determines whether a specified rectangle intersects with this rectangle.
            </summary>
            <param name="value">The rectangle to evaluate</param>
            <param name="result">[OutAttribute] true if the specified rectangle intersects with this one; false otherwise.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Intersect(Stride.Core.Mathematics.Rectangle,Stride.Core.Mathematics.Rectangle)">
            <summary>
            Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
            </summary>
            <param name="value1">The first rectangle to compare.</param>
            <param name="value2">The second rectangle to compare.</param>
            <returns>The intersection rectangle.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Intersect(Stride.Core.Mathematics.Rectangle@,Stride.Core.Mathematics.Rectangle@,Stride.Core.Mathematics.Rectangle@)">
            <summary>Creates a rectangle defining the area where one rectangle overlaps with another rectangle.</summary>
            <param name="value1">The first rectangle to compare.</param>
            <param name="value2">The second rectangle to compare.</param>
            <param name="result">[OutAttribute] The area where the two first parameters overlap.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Union(Stride.Core.Mathematics.Rectangle,Stride.Core.Mathematics.Int2)">
            <summary>
            Creates a new rectangle that incorporate the provided point to the given rectangle.
            </summary>
            <param name="rectangle">The original rectangle.</param>
            <param name="point">The point to incorporate.</param>
            <returns>The union rectangle.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Union(Stride.Core.Mathematics.Rectangle,Stride.Core.Mathematics.Rectangle)">
            <summary>
            Creates a new rectangle that exactly contains two other rectangles.
            </summary>
            <param name="value1">The first rectangle to contain.</param>
            <param name="value2">The second rectangle to contain.</param>
            <returns>The union rectangle.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Union(Stride.Core.Mathematics.Rectangle@,Stride.Core.Mathematics.Rectangle@,Stride.Core.Mathematics.Rectangle@)">
            <summary>
            Creates a new rectangle that exactly contains two other rectangles.
            </summary>
            <param name="value1">The first rectangle to contain.</param>
            <param name="value2">The second rectangle to contain.</param>
            <param name="result">[OutAttribute] The rectangle that must be the union of the first two rectangles.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.Equals(Stride.Core.Mathematics.Rectangle)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Rectangle"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Rectangle"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Rectangle"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.op_Equality(Stride.Core.Mathematics.Rectangle,Stride.Core.Mathematics.Rectangle)">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.op_Inequality(Stride.Core.Mathematics.Rectangle,Stride.Core.Mathematics.Rectangle)">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.op_Implicit(Stride.Core.Mathematics.Rectangle)~Stride.Core.Mathematics.RectangleF">
            <summary>
            Performs an implicit conversion to the <see cref="T:Stride.Core.Mathematics.RectangleF"/> structure.
            </summary>
            <remarks>Performs direct converstion from int to float.</remarks>
            <param name="value">The source <see cref="T:Stride.Core.Mathematics.Rectangle"/> value.</param>
            <returns>The converted structure.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Rectangle.ToString">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Mathematics.RectangleF">
            <summary>
            Define a RectangleF.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.RectangleF.Empty">
            <summary>
            An empty rectangle
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.RectangleF"/> struct.
            </summary>
            <param name="x">The left.</param>
            <param name="y">The top.</param>
            <param name="width">The width.</param>
            <param name="height">The height.</param>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.Left">
            <summary>
            Gets or sets the X position of the left edge.
            </summary>
            <value>The left.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.Top">
            <summary>
            Gets or sets the top.
            </summary>
            <value>The top.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.Right">
            <summary>
            Gets the right.
            </summary>
            <value>The right.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.Bottom">
            <summary>
            Gets the bottom.
            </summary>
            <value>The bottom.</value>
        </member>
        <member name="F:Stride.Core.Mathematics.RectangleF.X">
            <summary>
            Gets or sets the X position.
            </summary>
            <value>The X position.</value>
            <userdoc>The beginning of the rectangle along the Ox axis.</userdoc>
        </member>
        <member name="F:Stride.Core.Mathematics.RectangleF.Y">
            <summary>
            Gets or sets the Y position.
            </summary>
            <value>The Y position.</value>
            <userdoc>The beginning of the rectangle along the Oy axis.</userdoc>
        </member>
        <member name="F:Stride.Core.Mathematics.RectangleF.Width">
            <summary>
            Gets or sets the width.
            </summary>
            <value>The width.</value>
            <userdoc>The width of the rectangle.</userdoc>
        </member>
        <member name="F:Stride.Core.Mathematics.RectangleF.Height">
            <summary>
            Gets or sets the height.
            </summary>
            <value>The height.</value>
            <userdoc>The height of the rectangle.</userdoc>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.Location">
            <summary>
            Gets or sets the location.
            </summary>
            <value>
            The location.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.Center">
            <summary>
            Gets the Point that specifies the center of the rectangle.
            </summary>
            <value>
            The center.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.IsEmpty">
            <summary>
            Gets a value that indicates whether the rectangle is empty.
            </summary>
            <value>
              <c>true</c> if [is empty]; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.Size">
            <summary>
            Gets or sets the size of the rectangle.
            </summary>
            <value>The size of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.TopLeft">
            <summary>
            Gets the position of the top-left corner of the rectangle.
            </summary>
            <value>The top-left corner of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.TopRight">
            <summary>
            Gets the position of the top-right corner of the rectangle.
            </summary>
            <value>The top-right corner of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.BottomLeft">
            <summary>
            Gets the position of the bottom-left corner of the rectangle.
            </summary>
            <value>The bottom-left corner of the rectangle.</value>
        </member>
        <member name="P:Stride.Core.Mathematics.RectangleF.BottomRight">
            <summary>
            Gets the position of the bottom-right corner of the rectangle.
            </summary>
            <value>The bottom-right corner of the rectangle.</value>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Offset(Stride.Core.Mathematics.Point)">
            <summary>Changes the position of the rectangle.</summary>
            <param name="amount">The values to adjust the position of the rectangle by.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Offset(Stride.Core.Mathematics.Vector2)">
            <summary>Changes the position of the rectangle.</summary>
            <param name="amount">The values to adjust the position of the rectangle by.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Offset(System.Single,System.Single)">
            <summary>Changes the position of the rectangle.</summary>
            <param name="offsetX">Change in the x-position.</param>
            <param name="offsetY">Change in the y-position.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Inflate(System.Single,System.Single)">
            <summary>Pushes the edges of the rectangle out by the horizontal and vertical values specified.</summary>
            <param name="horizontalAmount">Value to push the sides out by.</param>
            <param name="verticalAmount">Value to push the top and bottom out by.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Contains(Stride.Core.Mathematics.Vector2@,System.Boolean@)">
            <summary>Determines whether this rectangle contains a specified Point.</summary>
            <param name="value">The Point to evaluate.</param>
            <param name="result">[OutAttribute] true if the specified Point is contained within this rectangle; false otherwise.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Contains(Stride.Core.Mathematics.Rectangle)">
            <summary>Determines whether this rectangle entirely contains a specified rectangle.</summary>
            <param name="value">The rectangle to evaluate.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Contains(Stride.Core.Mathematics.RectangleF@,System.Boolean@)">
            <summary>Determines whether this rectangle entirely contains a specified rectangle.</summary>
            <param name="value">The rectangle to evaluate.</param>
            <param name="result">[OutAttribute] On exit, is true if this rectangle entirely contains the specified rectangle, or false if not.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Contains(System.Single,System.Single)">
            <summary>
            Checks, if specified point is inside <see cref="T:Stride.Core.Mathematics.RectangleF"/>.
            </summary>
            <param name="x">X point coordinate.</param>
            <param name="y">Y point coordinate.</param>
            <returns><c>true</c> if point is inside <see cref="T:Stride.Core.Mathematics.RectangleF"/>, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Contains(Stride.Core.Mathematics.Vector2)">
            <summary>
            Checks, if specified <see cref="T:Stride.Core.Mathematics.Vector2"/> is inside <see cref="T:Stride.Core.Mathematics.RectangleF"/>.
            </summary>
            <param name="vector2D">Coordinate <see cref="T:Stride.Core.Mathematics.Vector2"/>.</param>
            <returns><c>true</c> if <see cref="T:Stride.Core.Mathematics.Vector2"/> is inside <see cref="T:Stride.Core.Mathematics.RectangleF"/>, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Contains(Stride.Core.Mathematics.Int2)">
            <summary>
            Checks, if specified <see cref="T:Stride.Core.Mathematics.Int2"/> is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>.
            </summary>
            <param name="int2">Coordinate <see cref="T:Stride.Core.Mathematics.Int2"/>.</param>
            <returns><c>true</c> if <see cref="T:Stride.Core.Mathematics.Int2"/> is inside <see cref="T:Stride.Core.Mathematics.Rectangle"/>, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Contains(Stride.Core.Mathematics.Point)">
            <summary>
            Checks, if specified <see cref="T:Stride.Core.Mathematics.Point"/> is inside <see cref="T:Stride.Core.Mathematics.RectangleF"/>.
            </summary>
            <param name="point">Coordinate <see cref="T:Stride.Core.Mathematics.Point"/>.</param>
            <returns><c>true</c> if <see cref="T:Stride.Core.Mathematics.Point"/> is inside <see cref="T:Stride.Core.Mathematics.RectangleF"/>, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Intersects(Stride.Core.Mathematics.RectangleF)">
            <summary>Determines whether a specified rectangle intersects with this rectangle.</summary>
            <param name="value">The rectangle to evaluate.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Intersects(Stride.Core.Mathematics.RectangleF@,System.Boolean@)">
            <summary>
            Determines whether a specified rectangle intersects with this rectangle.
            </summary>
            <param name="value">The rectangle to evaluate</param>
            <param name="result">[OutAttribute] true if the specified rectangle intersects with this one; false otherwise.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Intersect(Stride.Core.Mathematics.RectangleF,Stride.Core.Mathematics.RectangleF)">
            <summary>
            Creates a rectangle defining the area where one rectangle overlaps with another rectangle.
            </summary>
            <param name="value1">The first Rectangle to compare.</param>
            <param name="value2">The second Rectangle to compare.</param>
            <returns>The intersection rectangle.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Intersect(Stride.Core.Mathematics.RectangleF@,Stride.Core.Mathematics.RectangleF@,Stride.Core.Mathematics.RectangleF@)">
            <summary>Creates a rectangle defining the area where one rectangle overlaps with another rectangle.</summary>
            <param name="value1">The first rectangle to compare.</param>
            <param name="value2">The second rectangle to compare.</param>
            <param name="result">[OutAttribute] The area where the two first parameters overlap.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Union(Stride.Core.Mathematics.RectangleF,Stride.Core.Mathematics.RectangleF)">
            <summary>
            Creates a new rectangle that exactly contains two other rectangles.
            </summary>
            <param name="value1">The first rectangle to contain.</param>
            <param name="value2">The second rectangle to contain.</param>
            <returns>The union rectangle.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Union(Stride.Core.Mathematics.RectangleF@,Stride.Core.Mathematics.RectangleF@,Stride.Core.Mathematics.RectangleF@)">
            <summary>
            Creates a new rectangle that exactly contains two other rectangles.
            </summary>
            <param name="value1">The first rectangle to contain.</param>
            <param name="value2">The second rectangle to contain.</param>
            <param name="result">[OutAttribute] The rectangle that must be the union of the first two rectangles.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.Equals(Stride.Core.Mathematics.RectangleF)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.op_Equality(Stride.Core.Mathematics.RectangleF,Stride.Core.Mathematics.RectangleF)">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.op_Inequality(Stride.Core.Mathematics.RectangleF,Stride.Core.Mathematics.RectangleF)">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.op_Explicit(Stride.Core.Mathematics.RectangleF)~Stride.Core.Mathematics.Rectangle">
            <summary>
            Performs an explicit conversion to <see cref="T:Stride.Core.Mathematics.Rectangle"/> structure.
            </summary>
            <remarks>Performs direct float to int conversion, any fractional data is truncated.</remarks>
            <param name="value">The source <see cref="T:Stride.Core.Mathematics.RectangleF"/> value.</param>
            <returns>A converted <see cref="T:Stride.Core.Mathematics.Rectangle"/> structure.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.RectangleF.ToString">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Mathematics.Size2">
            <summary>
            Defines a 2D rectangular size (width,height).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2.Zero">
            <summary>
            A zero size with (width, height) = (0,0)
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2.Empty">
            <summary>
            A zero size with (width, height) = (0,0)
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Size2"/> struct.
            </summary>
            <param name="width">The x.</param>
            <param name="height">The y.</param>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2.Width">
            <summary>
            Width.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2.Height">
            <summary>
            Height.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.Equals(Stride.Core.Mathematics.Size2)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.op_Equality(Stride.Core.Mathematics.Size2,Stride.Core.Mathematics.Size2)">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.op_Inequality(Stride.Core.Mathematics.Size2,Stride.Core.Mathematics.Size2)">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.ToString">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2.Deconstruct(System.Int32@,System.Int32@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="width">The Width component</param>
            <param name="height">The Height component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Size2F">
            <summary>
            Defines a 2D rectangular size (width,height).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2F.Zero">
            <summary>
            A zero size with (width, height) = (0,0)
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2F.Empty">
            <summary>
            A zero size with (width, height) = (0,0)
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.#ctor(System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Size2F"/> struct.
            </summary>
            <param name="width">The x.</param>
            <param name="height">The y.</param>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2F.Width">
            <summary>
            Width.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size2F.Height">
            <summary>
            Height.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.Equals(Stride.Core.Mathematics.Size2F)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.op_Equality(Stride.Core.Mathematics.Size2F,Stride.Core.Mathematics.Size2F)">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.op_Inequality(Stride.Core.Mathematics.Size2F,Stride.Core.Mathematics.Size2F)">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>
            The result of the operator.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.ToString">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size2F.Deconstruct(System.Single@,System.Single@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="width">The Width component</param>
            <param name="height">The Height component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Size3">
            <summary>
            Structure providing Width, Height and Depth.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size3.Zero">
            <summary>
            A zero size with (width, height, depth) = (0,0,0)
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size3.One">
            <summary>
            A one size with (width, height, depth) = (1,1,1)
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size3.Empty">
            <summary>
            A zero size with (width, height, depth) = (0,0,0)
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Size3" /> struct.
            </summary>
            <param name="width">The x.</param>
            <param name="height">The y.</param>
            <param name="depth">The depth.</param>
        </member>
        <member name="F:Stride.Core.Mathematics.Size3.Width">
            <summary>
            Width.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size3.Height">
            <summary>
            Height.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Size3.Depth">
            <summary>
            Height.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Size3.VolumeSize">
            <summary>
            Gets a volume size.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.Equals(Stride.Core.Mathematics.Size3)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.CompareTo(Stride.Core.Mathematics.Size3)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.ToString">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.op_LessThan(Stride.Core.Mathematics.Size3,Stride.Core.Mathematics.Size3)">
            <summary>
            Implements the &lt;.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.op_LessThanOrEqual(Stride.Core.Mathematics.Size3,Stride.Core.Mathematics.Size3)">
            <summary>
            Implements the &lt;.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.op_GreaterThan(Stride.Core.Mathematics.Size3,Stride.Core.Mathematics.Size3)">
            <summary>
            Implements the &lt; or ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.op_GreaterThanOrEqual(Stride.Core.Mathematics.Size3,Stride.Core.Mathematics.Size3)">
            <summary>
            Implements the &gt; or ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.op_Equality(Stride.Core.Mathematics.Size3,Stride.Core.Mathematics.Size3)">
            <summary>
            Implements the ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.op_Inequality(Stride.Core.Mathematics.Size3,Stride.Core.Mathematics.Size3)">
            <summary>
            Implements the !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.Up2(System.Int32)">
            <summary>
            Calculates the next up mip-level (*2) of this size.
            </summary>
            <returns>A next up mip-level Size3.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.Down2(System.Int32)">
            <summary>
            Calculates the next down mip-level (/2) of this size.
            </summary>
            <param name="count">The count.</param>
            <returns>A next down mip-level Size3.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.Mip(System.Int32)">
            <summary>
            Calculates the mip size based on a direction.
            </summary>
            <param name="direction">The direction &lt; 0 then <see cref="M:Stride.Core.Mathematics.Size3.Down2(System.Int32)"/>, &gt; 0  then <see cref="M:Stride.Core.Mathematics.Size3.Up2(System.Int32)"/>, else this unchanged.</param>
            <returns>Size3.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Size3.Deconstruct(System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="width">The Width component</param>
            <param name="height">The Height component</param>
            <param name="depth">The Depth component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.SphericalHarmonics`1">
            <summary>
            A representation of a sphere of values via Spherical Harmonics (SH).
            </summary>
            <typeparam name="TDataType">The type of data contained by the sphere</typeparam>
        </member>
        <member name="F:Stride.Core.Mathematics.SphericalHarmonics`1.MaximumOrder">
            <summary>
            The maximum order supported.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.SphericalHarmonics`1.Order">
            <summary>
            The order of calculation of the spherical harmonic.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.SphericalHarmonics`1.Coefficients">
            <summary>
            Get the coefficients defining the spherical harmonics (the spherical coordinates x{l,m} multiplying the spherical base Y{l,m}).
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.SphericalHarmonics`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.SphericalHarmonics`1"/> class (null, for serialization).
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.SphericalHarmonics`1.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.SphericalHarmonics`1"/> class.
            </summary>
            <param name="order">The order of the harmonics</param>
        </member>
        <member name="M:Stride.Core.Mathematics.SphericalHarmonics`1.Evaluate(Stride.Core.Mathematics.Vector3)">
            <summary>
            Evaluate the value of the spherical harmonics in the provided direction.
            </summary>
            <param name="direction">The direction</param>
            <returns>The value of the spherical harmonics in the direction</returns>
        </member>
        <member name="P:Stride.Core.Mathematics.SphericalHarmonics`1.Item(System.Int32,System.Int32)">
            <summary>
            Returns the coefficient x{l,m} of the spherical harmonics (the {l,m} spherical coordinate corresponding to the spherical base Y{l,m}).
            </summary>
            <param name="l">the l index of the coefficient</param>
            <param name="m">the m index of the coefficient</param>
            <returns>the value of the coefficient</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.SphericalHarmonics">
            <summary>
            A spherical harmonics representation of a cubemap.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.SphericalHarmonics.BaseCoefficients">
            <summary>
            Base coefficients for SH.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.SphericalHarmonics.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.SphericalHarmonics"/> class (null, for serialization).
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.SphericalHarmonics.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.SphericalHarmonics"/> class.
            </summary>
            <param name="order">The order of the harmonics</param>
        </member>
        <member name="M:Stride.Core.Mathematics.SphericalHarmonics.Evaluate(Stride.Core.Mathematics.Vector3)">
            <summary>
            Evaluates the color for the specified direction.
            </summary>
            <param name="direction">The direction to evaluate.</param>
            <returns>The color computed for this direction.</returns>
        </member>
        <member name="T:Stride.Core.Mathematics.UInt4">
            <summary>
              Represents a four dimensional mathematical vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.SizeInBytes">
            <summary>
              The size of the <see cref = "T:Stride.Core.Mathematics.UInt4" /> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.Zero">
            <summary>
              A <see cref = "T:Stride.Core.Mathematics.UInt4" /> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.UnitX">
            <summary>
              The X unit <see cref = "T:Stride.Core.Mathematics.UInt4" /> (1, 0, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.UnitY">
            <summary>
              The Y unit <see cref = "T:Stride.Core.Mathematics.UInt4" /> (0, 1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.UnitZ">
            <summary>
              The Z unit <see cref = "T:Stride.Core.Mathematics.UInt4" /> (0, 0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.UnitW">
            <summary>
              The W unit <see cref = "T:Stride.Core.Mathematics.UInt4" /> (0, 0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.One">
            <summary>
              A <see cref = "T:Stride.Core.Mathematics.UInt4" /> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.X">
            <summary>
              The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.Y">
            <summary>
              The Y component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.Z">
            <summary>
              The Z component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.UInt4.W">
            <summary>
              The W component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.#ctor(System.UInt32)">
            <summary>
              Initializes a new instance of the <see cref = "T:Stride.Core.Mathematics.UInt4" /> struct.
            </summary>
            <param name = "value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.#ctor(System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
            <summary>
              Initializes a new instance of the <see cref = "T:Stride.Core.Mathematics.UInt4" /> struct.
            </summary>
            <param name = "x">Initial value for the X component of the vector.</param>
            <param name = "y">Initial value for the Y component of the vector.</param>
            <param name = "z">Initial value for the Z component of the vector.</param>
            <param name = "w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.#ctor(System.UInt32[])">
            <summary>
              Initializes a new instance of the <see cref = "T:Stride.Core.Mathematics.UInt4" /> struct.
            </summary>
            <param name = "values">The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.</param>
            <exception cref = "T:System.ArgumentNullException">Thrown when <paramref name = "values" /> is <c>null</c>.</exception>
            <exception cref = "T:System.ArgumentOutOfRangeException">Thrown when <paramref name = "values" /> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.UInt4.Item(System.UInt32)">
            <summary>
              Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, Z, or W component, depending on the index.</value>
            <param name = "index">The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref = "T:System.ArgumentOutOfRangeException">Thrown when the <paramref name = "index" /> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.ToArray">
            <summary>
              Creates an array containing the elements of the vector.
            </summary>
            <returns>A four-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Add(Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Adds two vectors.
            </summary>
            <param name = "left">The first vector to add.</param>
            <param name = "right">The second vector to add.</param>
            <param name = "result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Add(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Adds two vectors.
            </summary>
            <param name = "left">The first vector to add.</param>
            <param name = "right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Subtract(Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Subtracts two vectors.
            </summary>
            <param name = "left">The first vector to subtract.</param>
            <param name = "right">The second vector to subtract.</param>
            <param name = "result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Subtract(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Subtracts two vectors.
            </summary>
            <param name = "left">The first vector to subtract.</param>
            <param name = "right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Multiply(Stride.Core.Mathematics.UInt4@,System.UInt32,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <param name = "result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Multiply(Stride.Core.Mathematics.UInt4,System.UInt32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Modulate(Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name = "left">The first vector to modulate.</param>
            <param name = "right">The second vector to modulate.</param>
            <param name = "result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Modulate(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name = "left">The first vector to modulate.</param>
            <param name = "right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Divide(Stride.Core.Mathematics.UInt4@,System.UInt32,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <param name = "result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Divide(Stride.Core.Mathematics.UInt4,System.UInt32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Clamp(Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Restricts a value to be within a specified range.
            </summary>
            <param name = "value">The value to clamp.</param>
            <param name = "min">The minimum value.</param>
            <param name = "max">The maximum value.</param>
            <param name = "result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Clamp(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Restricts a value to be within a specified range.
            </summary>
            <param name = "value">The value to clamp.</param>
            <param name = "min">The minimum value.</param>
            <param name = "max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Max(Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <param name = "result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Max(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Min(Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@,Stride.Core.Mathematics.UInt4@)">
            <summary>
              Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <param name = "result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Min(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name = "left">The first source vector.</param>
            <param name = "right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Addition(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Adds two vectors.
            </summary>
            <param name = "left">The first vector to add.</param>
            <param name = "right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_UnaryPlus(Stride.Core.Mathematics.UInt4)">
            <summary>
              Assert a vector (return it unchanged).
            </summary>
            <param name = "value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Subtraction(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Subtracts two vectors.
            </summary>
            <param name = "left">The first vector to subtract.</param>
            <param name = "right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Multiply(System.UInt32,Stride.Core.Mathematics.UInt4)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Multiply(Stride.Core.Mathematics.UInt4,System.UInt32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Division(Stride.Core.Mathematics.UInt4,System.UInt32)">
            <summary>
              Scales a vector by the given value.
            </summary>
            <param name = "value">The vector to scale.</param>
            <param name = "scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Equality(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Tests for equality between two objects.
            </summary>
            <param name = "left">The first value to compare.</param>
            <param name = "right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name = "left" /> has the same value as <paramref name = "right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Inequality(Stride.Core.Mathematics.UInt4,Stride.Core.Mathematics.UInt4)">
            <summary>
              Tests for inequality between two objects.
            </summary>
            <param name = "left">The first value to compare.</param>
            <param name = "right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name = "left" /> has a different value than <paramref name = "right" />; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Explicit(Stride.Core.Mathematics.UInt4)~Stride.Core.Mathematics.Vector2">
            <summary>
              Performs an explicit conversion from <see cref = "T:Stride.Core.Mathematics.UInt4" /> to <see cref = "T:Stride.Core.Mathematics.Vector2" />.
            </summary>
            <param name = "value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Explicit(Stride.Core.Mathematics.UInt4)~Stride.Core.Mathematics.Vector3">
            <summary>
              Performs an explicit conversion from <see cref = "T:Stride.Core.Mathematics.UInt4" /> to <see cref = "T:Stride.Core.Mathematics.Vector3" />.
            </summary>
            <param name = "value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Explicit(Stride.Core.Mathematics.UInt4)~Stride.Core.Mathematics.Vector4">
            <summary>
              Performs an explicit conversion from <see cref = "T:Stride.Core.Mathematics.UInt4" /> to <see cref = "T:Stride.Core.Mathematics.Vector4" />.
            </summary>
            <param name = "value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.ToString">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.ToString(System.String)">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <param name = "format">The format.</param>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.ToString(System.IFormatProvider)">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <param name = "formatProvider">The format provider.</param>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.ToString(System.String,System.IFormatProvider)">
            <summary>
              Returns a <see cref = "T:System.String" /> that represents this instance.
            </summary>
            <param name = "format">The format.</param>
            <param name = "formatProvider">The format provider.</param>
            <returns>
              A <see cref = "T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.GetHashCode">
            <summary>
              Returns a hash code for this instance.
            </summary>
            <returns>
              A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Equals(Stride.Core.Mathematics.UInt4)">
            <summary>
              Determines whether the specified <see cref = "T:Stride.Core.Mathematics.UInt4" /> is equal to this instance.
            </summary>
            <param name = "other">The <see cref = "T:Stride.Core.Mathematics.UInt4" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref = "T:Stride.Core.Mathematics.UInt4" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Equals(System.Object)">
            <summary>
              Determines whether the specified <see cref = "T:System.Object" /> is equal to this instance.
            </summary>
            <param name = "value">The <see cref = "T:System.Object" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref = "T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Implicit(System.UInt32[])~Stride.Core.Mathematics.UInt4">
            <summary>
            Performs an implicit conversion from <see cref="T:System.UInt32"/> array to <see cref="T:Stride.Core.Mathematics.UInt4"/>.
            </summary>
            <param name="input">The input.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.op_Implicit(Stride.Core.Mathematics.UInt4)~System.UInt32[]">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Mathematics.UInt4"/> to <see cref="T:System.Int32"/> array.
            </summary>
            <param name="input">The input.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.UInt4.Deconstruct(System.UInt32@,System.UInt32@,System.UInt32@,System.UInt32@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
            <param name="w">The W component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Vector2">
            <summary>
            Represents a two dimensional mathematical vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector2.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Vector2"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector2.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Vector2"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector2.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Vector2"/> (1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector2.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Vector2"/> (0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector2.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Vector2"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector2.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector2.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector2"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.#ctor(System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector2"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector2"/> struct.
            </summary>
            <param name="values">The values to assign to the X and Y components of the vector. This must be an array with two elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than two elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Vector2.IsNormalized">
            <summary>
            Gets a value indicting whether this instance is normalized.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Vector2.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X or Y component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component and 1 for the Y component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 1].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector2.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Vector2.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Normalize">
            <summary>
            Converts the vector into a unit vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A two-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.MoveTo(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single)">
            <summary>
            Moves the first vector2 to the second one in a straight line.
            </summary>
            <param name="from">The first point.</param>
            <param name="to">The second point.</param>
            <param name="maxTravelDistance">The rate at which the first point is going to move towards the second point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Add(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Add(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Subtract(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Subtract(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Multiply(Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Multiply(Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Modulate(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Modulate(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Divide(Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Divide(Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Demodulate(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <param name="result">When the method completes, contains the demodulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Demodulate(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <returns>The demodulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Negate(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Negate(Stride.Core.Mathematics.Vector2)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Barycentric(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single,System.Single,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <param name="result">When the method completes, contains the 2D Cartesian coordinates of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Barycentric(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,System.Single,System.Single)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <returns>A new <see cref="T:Stride.Core.Mathematics.Vector2"/> containing the 2D Cartesian coordinates of the specified point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Clamp(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Clamp(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Distance(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single@)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the distance between the two vectors.</param>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector2.DistanceSquared(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single@)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Distance(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The distance between the two vectors.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector2.DistanceSquared(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.DistanceSquared(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single@)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector</param>
            <param name="result">When the method completes, contains the squared distance between the two vectors.</param>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.DistanceSquared(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The squared distance between the two vectors.</returns>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Dot(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Dot(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Normalize(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <param name="result">When the method completes, contains the normalized vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Normalize(Stride.Core.Mathematics.Vector2)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <returns>The normalized vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Lerp(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Lerp(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.SmoothStep(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.SmoothStep(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Hermite(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Hermite spline interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Hermite(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <returns>The result of the Hermite spline interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.CatmullRom(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,System.Single,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Catmull-Rom interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.CatmullRom(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <returns>A vector that is the result of the Catmull-Rom interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Max(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Max(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Min(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Min(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Reflect(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <param name="result">When the method completes, contains the reflected vector.</param>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Reflect(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <returns>The reflected vector.</returns>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Orthogonalize(Stride.Core.Mathematics.Vector2[],Stride.Core.Mathematics.Vector2[])">
            <summary>
            Orthogonalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthogonalized vectors.</param>
            <param name="source">The list of vectors to orthogonalize.</param>
            <remarks>
            <para>Orthogonalization is the process of making all vectors orthogonal to each other. This
            means that any given vector in the list will be orthogonal to any other given vector in the
            list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Orthonormalize(Stride.Core.Mathematics.Vector2[],Stride.Core.Mathematics.Vector2[])">
            <summary>
            Orthonormalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthonormalized vectors.</param>
            <param name="source">The list of vectors to orthonormalize.</param>
            <remarks>
            <para>Orthonormalization is the process of making all vectors orthogonal to each
            other and making all vectors of unit length. This means that any given vector will
            be orthogonal to any other given vector in the list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Transform(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Transform(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Transform(Stride.Core.Mathematics.Vector2[],Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector2[])">
            <summary>
            Transforms an array of vectors by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Transform(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Transform(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Matrix)">
            <summary>
            Transforms a 2D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Transform(Stride.Core.Mathematics.Vector2[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4[])">
            <summary>
            Transforms an array of 2D vectors by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.TransformCoordinate(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed coordinates.</param>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.TransformCoordinate(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed coordinates.</returns>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.TransformCoordinate(Stride.Core.Mathematics.Vector2[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector2[])">
            <summary>
            Performs a coordinate transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of coordinate vectors to trasnform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.TransformNormal(Stride.Core.Mathematics.Vector2@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector2@)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed normal.</param>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.TransformNormal(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed normal.</returns>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.TransformNormal(Stride.Core.Mathematics.Vector2[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector2[])">
            <summary>
            Performs a normal transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of normal vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Addition(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_UnaryPlus(Stride.Core.Mathematics.Vector2)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Subtraction(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_UnaryNegation(Stride.Core.Mathematics.Vector2)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Multiply(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to multiply.</param>
            <param name="right">The second vector to multiply.</param>
            <returns>The multiplication of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Multiply(System.Single,Stride.Core.Mathematics.Vector2)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Multiply(Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Division(Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Division(System.Single,Stride.Core.Mathematics.Vector2)">
            <summary>
            Divides a numerator by a vector.
            </summary>
            <param name="numerator">The numerator.</param>
            <param name="value">The value.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Division(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Divides a vector by the given vector, component-wise.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="by">The by.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Equality(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Inequality(Stride.Core.Mathematics.Vector2,Stride.Core.Mathematics.Vector2)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Explicit(Stride.Core.Mathematics.Vector2)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector2"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.op_Explicit(Stride.Core.Mathematics.Vector2)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector2"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Equals(Stride.Core.Mathematics.Vector2)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Vector2"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Vector2"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Vector2"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector2.Deconstruct(System.Single@,System.Single@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Vector3">
            <summary>
            Represents a three dimensional mathematical vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Vector3"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Vector3"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Vector3"/> (1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Vector3"/> (0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.UnitZ">
            <summary>
            The Z unit <see cref="T:Stride.Core.Mathematics.Vector3"/> (0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Vector3"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector3.Z">
            <summary>
            The Z component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector3"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector3"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.#ctor(Stride.Core.Mathematics.Vector2,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector3"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X and Y components.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector3"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than three elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Vector3.IsNormalized">
            <summary>
            Gets a value indicting whether this instance is normalized.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Vector3.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, or Z component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 2].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector3.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Vector3.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Normalize">
            <summary>
            Converts the vector into a unit vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Pow(System.Single)">
            <summary>
            Raises the exponent for each components.
            </summary>
            <param name="exponent">The exponent.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A three-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.MoveTo(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single)">
            <summary>
            Moves the first vector3 to the second one in a straight line.
            </summary>
            <param name="from">The first point.</param>
            <param name="to">The second point.</param>
            <param name="maxTravelDistance">The rate at which the first point is going to move towards the second point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Add(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Add(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Subtract(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Subtract(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Multiply(Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Multiply(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Modulate(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Modulate(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Divide(Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Divide(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Demodulate(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <param name="result">When the method completes, contains the demodulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Demodulate(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <returns>The demodulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Negate(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Negate(Stride.Core.Mathematics.Vector3)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Barycentric(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single,System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <param name="result">When the method completes, contains the 3D Cartesian coordinates of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Barycentric(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,System.Single,System.Single)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <returns>A new <see cref="T:Stride.Core.Mathematics.Vector3"/> containing the 3D Cartesian coordinates of the specified point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Clamp(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Clamp(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Cross(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Calculates the cross product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains he cross product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Cross(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Calculates the cross product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The cross product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Distance(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single@)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the distance between the two vectors.</param>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector3.DistanceSquared(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single@)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Distance(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The distance between the two vectors.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector3.DistanceSquared(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.DistanceSquared(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single@)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the squared distance between the two vectors.</param>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.DistanceSquared(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The squared distance between the two vectors.</returns>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Dot(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Dot(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Normalize(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <param name="result">When the method completes, contains the normalized vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Normalize(Stride.Core.Mathematics.Vector3)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <returns>The normalized vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Lerp(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Lerp(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.SmoothStep(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.SmoothStep(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Hermite(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Hermite spline interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Hermite(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <returns>The result of the Hermite spline interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.CatmullRom(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Catmull-Rom interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.CatmullRom(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <returns>A vector that is the result of the Catmull-Rom interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Mod(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Performs mathematical modulo component-wise (see MathUtil.Mod).
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of each component's modulo.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Mod(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Performs mathematical modulo component-wise (see MathUtil.Mod).
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>When the method completes, contains an new vector composed of each component's modulo.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Max(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Max(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Min(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Min(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Project(Stride.Core.Mathematics.Vector3@,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Projects a 3D vector from object space into screen space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <param name="result">When the method completes, contains the vector in screen space.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Project(Stride.Core.Mathematics.Vector3,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix)">
            <summary>
            Projects a 3D vector from object space into screen space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <returns>The vector in screen space.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Unproject(Stride.Core.Mathematics.Vector3@,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Projects a 3D vector from screen space into object space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <param name="result">When the method completes, contains the vector in object space.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Unproject(Stride.Core.Mathematics.Vector3,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Stride.Core.Mathematics.Matrix)">
            <summary>
            Projects a 3D vector from screen space into object space. 
            </summary>
            <param name="vector">The vector to project.</param>
            <param name="x">The X position of the viewport.</param>
            <param name="y">The Y position of the viewport.</param>
            <param name="width">The width of the viewport.</param>
            <param name="height">The height of the viewport.</param>
            <param name="minZ">The minimum depth of the viewport.</param>
            <param name="maxZ">The maximum depth of the viewport.</param>
            <param name="worldViewProjection">The combined world-view-projection matrix.</param>
            <returns>The vector in object space.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Reflect(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <param name="result">When the method completes, contains the reflected vector.</param>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Reflect(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Returns the reflection of a vector off a surface that has the specified normal. 
            </summary>
            <param name="vector">The source vector.</param>
            <param name="normal">Normal of the surface.</param>
            <returns>The reflected vector.</returns>
            <remarks>Reflect only gives the direction of a reflection off a surface, it does not determine 
            whether the original vector was close enough to the surface to hit it.</remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Orthogonalize(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.Vector3[])">
            <summary>
            Orthogonalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthogonalized vectors.</param>
            <param name="source">The list of vectors to orthogonalize.</param>
            <remarks>
            <para>Orthogonalization is the process of making all vectors orthogonal to each other. This
            means that any given vector in the list will be orthogonal to any other given vector in the
            list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Orthonormalize(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.Vector3[])">
            <summary>
            Orthonormalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthonormalized vectors.</param>
            <param name="source">The list of vectors to orthonormalize.</param>
            <remarks>
            <para>Orthonormalization is the process of making all vectors orthogonal to each
            other and making all vectors of unit length. This means that any given vector will
            be orthogonal to any other given vector in the list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Transform(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Transform(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Transform(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3[])">
            <summary>
            Transforms an array of vectors by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Transform(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Transform(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Vector3"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Transform(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Matrix)">
            <summary>
            Transforms a 3D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Transform(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4[])">
            <summary>
            Transforms an array of 3D vectors by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.TransformCoordinate(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed coordinates.</param>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.TransformCoordinate(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a coordinate transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="coordinate">The coordinate vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed coordinates.</returns>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.TransformCoordinate(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3[])">
            <summary>
            Performs a coordinate transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of coordinate vectors to trasnform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A coordinate transform performs the transformation with the assumption that the w component
            is one. The four dimensional vector obtained from the transformation operation has each
            component in the vector divided by the w component. This forces the wcomponent to be one and
            therefore makes the vector homogeneous. The homogeneous vector is often prefered when working
            with coordinates as the w component can safely be ignored.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.TransformNormal(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed normal.</param>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.TransformNormal(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Matrix)">
            <summary>
            Performs a normal transformation using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="normal">The normal vector to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed normal.</returns>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.TransformNormal(Stride.Core.Mathematics.Vector3[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector3[])">
            <summary>
            Performs a normal transformation on an array of vectors using the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of normal vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
            <remarks>
            A normal transform performs the transformation with the assumption that the w component
            is zero. This causes the fourth row and fourth collumn of the matrix to be unused. The
            end result is a vector that is not translated, but all other transformation properties
            apply. This is often prefered for normal vectors as normals purely represent direction
            rather than location because normal vectors should not be translated.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.RotationYawPitchRoll(Stride.Core.Mathematics.Quaternion)">
            <summary>
            Calculate the yaw/pitch/roll rotation equivalent to the provided quaterion.
            </summary>
            <param name="quaternion">The input rotation as quaternion</param>
            <returns>The equivation yaw/pitch/roll rotation</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.RotationYawPitchRoll(Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Calculate the yaw/pitch/roll rotation equivalent to the provided quaterion. 
            </summary>
            <param name="quaternion">The input rotation as quaternion</param>
            <param name="yawPitchRoll">The equivation yaw/pitch/roll rotation</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.RotateAround(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,System.Single)">
            <summary>
            Rotates the source around the target by the rotation angle around the supplied axis. 
            </summary>
            <param name="source">The position to rotate.</param>
            <param name="target">The point to rotate around.</param>
            <param name="axis">The axis of rotation.</param>
            <param name="angle">The angle to rotate by in radians.</param>
            <returns>The rotated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Addition(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_UnaryPlus(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Subtraction(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_UnaryNegation(Stride.Core.Mathematics.Vector3@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Multiply(System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Multiply(Stride.Core.Mathematics.Vector3@,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Multiply(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to multiply.</param>
            <param name="right">The second vector to multiply.</param>
            <returns>The multiplication of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Addition(Stride.Core.Mathematics.Vector3@,System.Single)">
            <summary>
            Adds a vector with the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The vector offset.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Subtraction(Stride.Core.Mathematics.Vector3@,System.Single)">
            <summary>
            Substracts a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The vector offset.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Division(System.Single,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Divides a numerator by a vector.
            </summary>
            <param name="numerator">The numerator.</param>
            <param name="value">The value.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Division(Stride.Core.Mathematics.Vector3@,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Division(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Divides a vector by the given vector, component-wise.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="by">The by.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Equality(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Inequality(Stride.Core.Mathematics.Vector3,Stride.Core.Mathematics.Vector3)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Explicit(Stride.Core.Mathematics.Vector3@)~Stride.Core.Mathematics.Vector2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Vector2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Explicit(Stride.Core.Mathematics.Vector3@)~Stride.Core.Mathematics.Vector4">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Vector4"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.op_Explicit(Stride.Core.Mathematics.Vector3@)~Stride.Core.Mathematics.Int3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector3"/> to <see cref="T:Stride.Core.Mathematics.Int3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.NearEqual(Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@,Stride.Core.Mathematics.Vector3@)">
            <summary>
            Tests whether one 3D vector is near another 3D vector.
            </summary>
            <param name="left">The left vector.</param>
            <param name="right">The right vector.</param>
            <param name="epsilon">The epsilon.</param>
            <returns><c>true</c> if left and right are near another 3D, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Equals(Stride.Core.Mathematics.Vector3)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Vector3"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Vector3"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Vector3"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector3.Deconstruct(System.Single@,System.Single@,System.Single@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.Vector4">
            <summary>
            Represents a four dimensional mathematical vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.SizeInBytes">
            <summary>
            The size of the <see cref="T:Stride.Core.Mathematics.Vector4"/> type, in bytes.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.Zero">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Vector4"/> with all of its components set to zero.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.UnitX">
            <summary>
            The X unit <see cref="T:Stride.Core.Mathematics.Vector4"/> (1, 0, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.UnitY">
            <summary>
            The Y unit <see cref="T:Stride.Core.Mathematics.Vector4"/> (0, 1, 0, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.UnitZ">
            <summary>
            The Z unit <see cref="T:Stride.Core.Mathematics.Vector4"/> (0, 0, 1, 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.UnitW">
            <summary>
            The W unit <see cref="T:Stride.Core.Mathematics.Vector4"/> (0, 0, 0, 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.One">
            <summary>
            A <see cref="T:Stride.Core.Mathematics.Vector4"/> with all of its components set to one.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.X">
            <summary>
            The X component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.Y">
            <summary>
            The Y component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.Z">
            <summary>
            The Z component of the vector.
            </summary>
        </member>
        <member name="F:Stride.Core.Mathematics.Vector4.W">
            <summary>
            The W component of the vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.#ctor(System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector4"/> struct.
            </summary>
            <param name="value">The value that will be assigned to all components.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector4"/> struct.
            </summary>
            <param name="x">Initial value for the X component of the vector.</param>
            <param name="y">Initial value for the Y component of the vector.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
            <param name="w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.#ctor(Stride.Core.Mathematics.Vector3,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector4"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X, Y, and Z components.</param>
            <param name="w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.#ctor(Stride.Core.Mathematics.Vector2,System.Single,System.Single)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector4"/> struct.
            </summary>
            <param name="value">A vector containing the values with which to initialize the X and Y components.</param>
            <param name="z">Initial value for the Z component of the vector.</param>
            <param name="w">Initial value for the W component of the vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.#ctor(System.Single[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Mathematics.Vector4"/> struct.
            </summary>
            <param name="values">The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="values"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="values"/> contains more or less than four elements.</exception>
        </member>
        <member name="P:Stride.Core.Mathematics.Vector4.IsNormalized">
            <summary>
            Gets a value indicting whether this instance is normalized.
            </summary>
        </member>
        <member name="P:Stride.Core.Mathematics.Vector4.Item(System.Int32)">
            <summary>
            Gets or sets the component at the specified index.
            </summary>
            <value>The value of the X, Y, Z, or W component, depending on the index.</value>
            <param name="index">The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.</param>
            <returns>The value of the component at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when the <paramref name="index"/> is out of the range [0, 3].</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Length">
            <summary>
            Calculates the length of the vector.
            </summary>
            <returns>The length of the vector.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector4.LengthSquared"/> may be preferred when only the relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.LengthSquared">
            <summary>
            Calculates the squared length of the vector.
            </summary>
            <returns>The squared length of the vector.</returns>
            <remarks>
            This method may be preferred to <see cref="M:Stride.Core.Mathematics.Vector4.Length"/> when only a relative length is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Normalize">
            <summary>
            Converts the vector into a unit vector.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Pow(System.Single)">
            <summary>
            Raises the exponent for each components.
            </summary>
            <param name="exponent">The exponent.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.ToArray">
            <summary>
            Creates an array containing the elements of the vector.
            </summary>
            <returns>A four-element array containing the components of the vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Moveto(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single)">
            <summary>
            Moves the first vector4 to the second one in a straight line.
            </summary>
            <param name="from">The first point.</param>
            <param name="to">The second point.</param>
            <param name="maxTravelDistance">The rate at which the first point is going to move towards the second point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Add(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <param name="result">When the method completes, contains the sum of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Add(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Subtract(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <param name="result">When the method completes, contains the difference of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Subtract(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Multiply(Stride.Core.Mathematics.Vector4@,System.Single,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Multiply(Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Modulate(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <param name="result">When the method completes, contains the modulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Modulate(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to modulate.</param>
            <param name="right">The second vector to modulate.</param>
            <returns>The modulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Divide(Stride.Core.Mathematics.Vector4@,System.Single,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <param name="result">When the method completes, contains the scaled vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Divide(Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Demodulate(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <param name="result">When the method completes, contains the demodulated vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Demodulate(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Demodulates a vector with another by performing component-wise division.
            </summary>
            <param name="left">The first vector to demodulate.</param>
            <param name="right">The second vector to demodulate.</param>
            <returns>The demodulated vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Negate(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <param name="result">When the method completes, contains a vector facing in the opposite direction.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Negate(Stride.Core.Mathematics.Vector4)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Barycentric(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single,System.Single,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <param name="result">When the method completes, contains the 4D Cartesian coordinates of the specified point.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Barycentric(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,System.Single,System.Single)">
            <summary>
            Returns a <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
            </summary>
            <param name="value1">A <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of vertex 1 of the triangle.</param>
            <param name="value2">A <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of vertex 2 of the triangle.</param>
            <param name="value3">A <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of vertex 3 of the triangle.</param>
            <param name="amount1">Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in <paramref name="value2"/>).</param>
            <param name="amount2">Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in <paramref name="value3"/>).</param>
            <returns>A new <see cref="T:Stride.Core.Mathematics.Vector4"/> containing the 4D Cartesian coordinates of the specified point.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Clamp(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <param name="result">When the method completes, contains the clamped value.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Clamp(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Restricts a value to be within a specified range.
            </summary>
            <param name="value">The value to clamp.</param>
            <param name="min">The minimum value.</param>
            <param name="max">The maximum value.</param>
            <returns>The clamped value.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Distance(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single@)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the distance between the two vectors.</param>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector4.DistanceSquared(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single@)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Distance(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Calculates the distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The distance between the two vectors.</returns>
            <remarks>
            <see cref="M:Stride.Core.Mathematics.Vector4.DistanceSquared(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)"/> may be preferred when only the relative distance is needed
            and speed is of the essence.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.DistanceSquared(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single@)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <param name="result">When the method completes, contains the squared distance between the two vectors.</param>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.DistanceSquared(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Calculates the squared distance between two vectors.
            </summary>
            <param name="value1">The first vector.</param>
            <param name="value2">The second vector.</param>
            <returns>The squared distance between the two vectors.</returns>
            <remarks>Distance squared is the value before taking the square root. 
            Distance squared can often be used in place of distance if relative comparisons are being made. 
            For example, consider three points A, B, and C. To determine whether B or C is further from A, 
            compare the distance between A and B to the distance between A and C. Calculating the two distances 
            involves two square roots, which are computationally expensive. However, using distance squared 
            provides the same information and avoids calculating two square roots.
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Dot(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single@)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector</param>
            <param name="right">Second source vector.</param>
            <param name="result">When the method completes, contains the dot product of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Dot(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Calculates the dot product of two vectors.
            </summary>
            <param name="left">First source vector.</param>
            <param name="right">Second source vector.</param>
            <returns>The dot product of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Normalize(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <param name="result">When the method completes, contains the normalized vector.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Normalize(Stride.Core.Mathematics.Vector4)">
            <summary>
            Converts the vector into a unit vector.
            </summary>
            <param name="value">The vector to normalize.</param>
            <returns>The normalized vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Lerp(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the linear interpolation of the two vectors.</param>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Lerp(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Performs a linear interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The linear interpolation of the two vectors.</returns>
            <remarks>
            This method performs the linear interpolation based on the following formula.
            <code>start + (end - start) * amount</code>
            Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned. 
            </remarks>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.SmoothStep(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <param name="result">When the method completes, contains the cubic interpolation of the two vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.SmoothStep(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Performs a cubic interpolation between two vectors.
            </summary>
            <param name="start">Start vector.</param>
            <param name="end">End vector.</param>
            <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
            <returns>The cubic interpolation of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Hermite(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Hermite spline interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Hermite(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Performs a Hermite spline interpolation.
            </summary>
            <param name="value1">First source position vector.</param>
            <param name="tangent1">First source tangent vector.</param>
            <param name="value2">Second source position vector.</param>
            <param name="tangent2">Second source tangent vector.</param>
            <param name="amount">Weighting factor.</param>
            <returns>The result of the Hermite spline interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.CatmullRom(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,System.Single,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <param name="result">When the method completes, contains the result of the Catmull-Rom interpolation.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.CatmullRom(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Performs a Catmull-Rom interpolation using the specified positions.
            </summary>
            <param name="value1">The first position in the interpolation.</param>
            <param name="value2">The second position in the interpolation.</param>
            <param name="value3">The third position in the interpolation.</param>
            <param name="value4">The fourth position in the interpolation.</param>
            <param name="amount">Weighting factor.</param>
            <returns>A vector that is the result of the Catmull-Rom interpolation.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Max(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the largest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Max(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Returns a vector containing the largest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the largest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Min(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <param name="result">When the method completes, contains an new vector composed of the smallest components of the source vectors.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Min(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Returns a vector containing the smallest components of the specified vectors.
            </summary>
            <param name="left">The first source vector.</param>
            <param name="right">The second source vector.</param>
            <returns>A vector containing the smallest components of the source vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Orthogonalize(Stride.Core.Mathematics.Vector4[],Stride.Core.Mathematics.Vector4[])">
            <summary>
            Orthogonalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthogonalized vectors.</param>
            <param name="source">The list of vectors to orthogonalize.</param>
            <remarks>
            <para>Orthogonalization is the process of making all vectors orthogonal to each other. This
            means that any given vector in the list will be orthogonal to any other given vector in the
            list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Orthonormalize(Stride.Core.Mathematics.Vector4[],Stride.Core.Mathematics.Vector4[])">
            <summary>
            Orthonormalizes a list of vectors.
            </summary>
            <param name="destination">The list of orthonormalized vectors.</param>
            <param name="source">The list of vectors to orthonormalize.</param>
            <remarks>
            <para>Orthonormalization is the process of making all vectors orthogonal to each
            other and making all vectors of unit length. This means that any given vector will
            be orthogonal to any other given vector in the list.</para>
            <para>Because this method uses the modified Gram-Schmidt process, the resulting vectors
            tend to be numerically unstable. The numeric stability decreases according to the vectors
            position in the list so that the first vector is the most stable and the last vector is the
            least stable.</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Transform(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Transform(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Quaternion)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="vector">The vector to rotate.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Transform(Stride.Core.Mathematics.Vector4[],Stride.Core.Mathematics.Quaternion@,Stride.Core.Mathematics.Vector4[])">
            <summary>
            Transforms an array of vectors by the given <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="rotation">The <see cref="T:Stride.Core.Mathematics.Quaternion"/> rotation to apply.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Transform(Stride.Core.Mathematics.Vector4@,Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4@)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="result">When the method completes, contains the transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</param>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Transform(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Matrix)">
            <summary>
            Transforms a 4D vector by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="vector">The source vector.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <returns>The transformed <see cref="T:Stride.Core.Mathematics.Vector4"/>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Transform(Stride.Core.Mathematics.Vector4[],Stride.Core.Mathematics.Matrix@,Stride.Core.Mathematics.Vector4[])">
            <summary>
            Transforms an array of 4D vectors by the given <see cref="T:Stride.Core.Mathematics.Matrix"/>.
            </summary>
            <param name="source">The array of vectors to transform.</param>
            <param name="transform">The transformation <see cref="T:Stride.Core.Mathematics.Matrix"/>.</param>
            <param name="destination">The array for which the transformed vectors are stored.
            This array may be the same array as <paramref name="source"/>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="source"/> or <paramref name="destination"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="destination"/> is shorter in length than <paramref name="source"/>.</exception>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Addition(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Adds two vectors.
            </summary>
            <param name="left">The first vector to add.</param>
            <param name="right">The second vector to add.</param>
            <returns>The sum of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_UnaryPlus(Stride.Core.Mathematics.Vector4)">
            <summary>
            Assert a vector (return it unchanged).
            </summary>
            <param name="value">The vector to assert (unchange).</param>
            <returns>The asserted (unchanged) vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Subtraction(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Subtracts two vectors.
            </summary>
            <param name="left">The first vector to subtract.</param>
            <param name="right">The second vector to subtract.</param>
            <returns>The difference of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_UnaryNegation(Stride.Core.Mathematics.Vector4)">
            <summary>
            Reverses the direction of a given vector.
            </summary>
            <param name="value">The vector to negate.</param>
            <returns>A vector facing in the opposite direction.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Multiply(System.Single,Stride.Core.Mathematics.Vector4)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Multiply(Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Multiply(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Modulates a vector with another by performing component-wise multiplication.
            </summary>
            <param name="left">The first vector to multiply.</param>
            <param name="right">The second vector to multiply.</param>
            <returns>The multiplication of the two vectors.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Division(Stride.Core.Mathematics.Vector4,System.Single)">
            <summary>
            Scales a vector by the given value.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="scale">The amount by which to scale the vector.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Division(System.Single,Stride.Core.Mathematics.Vector4)">
            <summary>
            Divides a numerator by a vector.
            </summary>
            <param name="numerator">The numerator.</param>
            <param name="value">The value.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Division(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Divides a vector by the given vector, component-wise.
            </summary>
            <param name="value">The vector to scale.</param>
            <param name="by">The by.</param>
            <returns>The scaled vector.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Equality(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Tests for equality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Inequality(Stride.Core.Mathematics.Vector4,Stride.Core.Mathematics.Vector4)">
            <summary>
            Tests for inequality between two objects.
            </summary>
            <param name="left">The first value to compare.</param>
            <param name="right">The second value to compare.</param>
            <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Explicit(Stride.Core.Mathematics.Vector4)~Stride.Core.Mathematics.Vector2">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.Vector2"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.op_Explicit(Stride.Core.Mathematics.Vector4)~Stride.Core.Mathematics.Vector3">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Mathematics.Vector4"/> to <see cref="T:Stride.Core.Mathematics.Vector3"/>.
            </summary>
            <param name="value">The value.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.ToString(System.String)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.ToString(System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <param name="format">The format.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Equals(Stride.Core.Mathematics.Vector4)">
            <summary>
            Determines whether the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:Stride.Core.Mathematics.Vector4"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:Stride.Core.Mathematics.Vector4"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="value">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.Mathematics.Vector4.Deconstruct(System.Single@,System.Single@,System.Single@,System.Single@)">
            <summary>
            Deconstructs the vector's components into named variables.
            </summary>
            <param name="x">The X component</param>
            <param name="y">The Y component</param>
            <param name="z">The Z component</param>
            <param name="w">The W component</param>
        </member>
        <member name="T:Stride.Core.Mathematics.VectorExtensions">
            <summary>
            Extensions methods of the vector classes.
            </summary>
        </member>
        <member name="M:Stride.Core.Mathematics.VectorExtensions.YX(Stride.Core.Mathematics.Vector2)">
            <summary>
            Return the Y/X components of the vector in the inverse order.
            </summary>
            <param name="vector">the input vector</param>
        </member>
        <member name="M:Stride.Core.Mathematics.VectorExtensions.XY(Stride.Core.Mathematics.Vector3)">
            <summary>
            Return the X/Y components of the vector.
            </summary>
            <param name="vector">the input vector</param>
        </member>
        <member name="M:Stride.Core.Mathematics.VectorExtensions.XZ(Stride.Core.Mathematics.Vector3)">
            <summary>
            Return the X/Z components of the vector.
            </summary>
            <param name="vector">the input vector</param>
        </member>
        <member name="M:Stride.Core.Mathematics.VectorExtensions.YZ(Stride.Core.Mathematics.Vector3)">
            <summary>
            Return the Y/Z components of the vector.
            </summary>
            <param name="vector">the input vector</param>
        </member>
        <member name="M:Stride.Core.Mathematics.VectorExtensions.XY(Stride.Core.Mathematics.Vector4)">
            <summary>
            Return the X/Y components of the vector.
            </summary>
            <param name="vector">the input vector</param>
        </member>
        <member name="M:Stride.Core.Mathematics.VectorExtensions.XYZ(Stride.Core.Mathematics.Vector4)">
            <summary>
            Return the X/Y/Z components of the vector.
            </summary>
            <param name="vector">the input vector</param>
        </member>
        <member name="T:Stride.StrideVersion">
            <summary>
            Internal version used to identify Stride version.
            </summary>
            <remarks>
            During package build, PackageUpdateVersionTask is updating that file and expect some specific text regex so be careful if you change any of this.
            </remarks>
        </member>
        <member name="F:Stride.StrideVersion.PublicVersion">
            <summary>
            The version used by editor for display purpose. The 4th digit will automatically be replaced by the git height when building packages with Stride.Build.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.AssemblyVersion">
            <summary>
            The current assembly version as text, currently same as <see cref="F:Stride.StrideVersion.PublicVersion"/>.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.NuGetVersionSimple">
            <summary>
            The NuGet package version without special tags.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.NuGetVersion">
            <summary>
            The NuGet package version.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.NuGetVersionSuffix">
            <summary>
            The NuGet package suffix (i.e. -beta).
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.BuildMetadata">
            <summary>
            The build metadata, usually +g[git_hash] during package. Automatically set by Stride.GitVersioning.GenerateVersionFile.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.AssemblyInformationalVersion">
            <summary>
            The informational assembly version, containing -beta01 or +g[git_hash] during package.
            </summary>
        </member>
        <member name="T:Stride.PublicKeys">
            <summary>
            Assembly signing information.
            </summary>
        </member>
        <member name="F:Stride.PublicKeys.Default">
            <summary>
            Assembly name suffix that contains signing information.
            </summary>
        </member>
    </members>
</doc>
